Reputation: 16701
I installed Xampp on Windows 7 32-bit. When I try to start MySql in XAMPP control panel (v3.2.1) I have the following message and MySql does not start.
23:02:03 [mysql] Problem detected!
23:02:03 [mysql] Port 3306 in use by ""C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" MySQL"!
23:02:03 [mysql] MySQL WILL NOT start without the configured ports free!
23:02:03 [mysql] You need to uninstall/disable/reconfigure the blocking application
23:02:03 [mysql] or reconfigure MySQL and the Control Panel to listen on a different port
23:02:03 [mysql] Attempting to start MySQL service...
A similar problem was reported here but there is no working answer. When I try to install with MySql disabled, the result is that I even don't have an option even to try to run it.
I am new to Xampp and don't know where and what to look for to solve the issue
I need to run Apache and MySql with Php.
Upvotes: 63
Views: 545669
Reputation: 598
npx kill-port 3306
OK to proceed - Type "y"
It should work.
Upvotes: 1
Reputation: 119
I tried all of the most liked answers, but they either didn't work or had some errors or they were difficult.
I think the best and simplest way is to change the default port in XAMPP. To do this:
1- Open XAMPP as an administrator.
2- Stop the MySQL service.
3- Click on the "Config" button located at the top right.
4- Click on "Service and Port Settings."
5- Select the MySQL tab.
6- Change the main port from 3306 to 3307.
7- Navigate to xampp/mysql/bin/my.ini.
8- Change the port from 3306 to 3307 in two lines as follows:
Firstly:
# The following options will be passed to all MySQL clients
[client]
Password = your_password
port = 3306 #---> 3307
socket = "/ xampp / mysql / mysql.sock"
Secondly:
The MySQL server
[ mysqld ]
port = 3306 #---> 3307
socket = "/ xampp / mysql / mysql.sock"
9- Return to XAMPP and start the MySQL service.
Upvotes: 0
Reputation: 31
My fix was to stop MySQL57 in services, Xampp now starts/stops Apache/MySQL as expected.
Upvotes: 0
Reputation: 1036
You have two versions of mysql using the same port 3306
.
Change the port by:
Here:
# The following options will be passed to all MySQL clients
[client]
Password = your_password
port = 3306 #---> 3307
socket = "/ xampp / mysql / mysql.sock"
and also here:
The MySQL server
[ mysqld ]
port = 3306 #---> 3307
socket = "/ xampp / mysql / mysql.sock"
2. Start mysql service
Upvotes: 39
Reputation: 81
You need to uninstall/disable/reconfigure the blocking application that is using the port 3306. But, if for some reason, you can't do the above maybe because you need the other application too, then follow these steps to change the MySQL port to 3307.
$cfg['Servers'][$i]['host'] = '127.0.0.1';
(present at 27th line in my file). Now add this below the line you found (at line 28 according to my file): $cfg['Servers'][$i]['port'] = '3307';
Now, you are good to go. Also note that you would have to change port for all your projects to 3307 for them to work properly. For eg: from $servername = "localhost";
to $servername = "localhost:3307";
in the database config file of your project.
I hope this works for you too.
Upvotes: 1
Reputation: 35
So if you are on a Windows machine, you can open the task manager. Check the processes list, and delete the mysqlId from it. Restart the xampp. It will work fine.
Upvotes: 0
Reputation: 134
The is a simple and faster way to solve the problem.
You don't need to open a services
or write any cmd
code just follow my steps:
from XAMPP control
panel click Explorer
button
from directory find mysql_stop.bat
file and run it.
Thats all!! super easy.
Refresh your netstat
list, you will see that it has gone.
please make it as best answer.
Upvotes: -1
Reputation: 8457
You already have a version of mySQL installed on this machine that is using port 3306. Go into the most recent my.ini
file and change the port to 3307
. Restart the mySQL service and see if it comes up.
You also need to change port 3306 to 3307 in xampp\php\php.ini
Upvotes: 77
Reputation: 164
Google Brings me here. The favourite answers don't help me. I've now solved it, so maybe this will help someone else. Problem: after UPDATE of XAMPP to a new version I get the message "MySQL WILL NOT start without the configured ports free!".
However, I only have 1 instance of mysqld running.
It seems that the control panel is not as clever as it looks. As far as I can tell, the single instance of mysqld is the new one i've just updated to, but running as a 'service'. The control panel then tries to start it, and instead of realising its already running, It assumes its another service and reports the error.
Probable cause: The uninstaller failed to remove the autostart property from the mysql service, so the new instal picked it up.
Solution:
open the Xammpp Control Panel and click on the Services Button on the right. This will open the services control panel.
Look for mysqld in the list of running processes, right-click it to get the properties and change the startup type to "Manual".
you might as well do the same for Apache2 while you're here.
Apply changes and Close the services control panel.
Now click the Config Button on xampp control panel, uncheck The Mysql (and Apache) Autostart features.
Reboot the machine. You should now be able to start / stop Mysql & Apache without any error messages. If this works, use the Xampp Control panel as usual to start/stop add service or add autostart as normal. No need to mess with any ports or config files.
Upvotes: 3
Reputation: 159
If you have previously installed MySQL Workbench the problem is that another MySQL instance is running at 3306 port.
So uninstall MySQL and XAMPP and after that, reinstall only XAMPP.
This worked for me.
Upvotes: 0
Reputation: 6905
Same issue on macOS and got it fixed by running the same installer again.
Whereas I COULD NOT get it fixed by
Note: Make sure to select 'XAMPP Core Files' component while running the installer as by default it is not selected.
Though re-running the installer is not smart option when one has to do it every now and then. My installer is xampp-osx-7.0.13-1-installer.dmg
Update: I've got my MAMP working with this simple solution here. So, same should work for XAMPP.
Upvotes: 0
Reputation: 301
Try this: really quick + worked for me:
ps: excuse image below for different language :)
Upvotes: 3
Reputation: 141
I found out that re-installing Xampp as an administrator and running it as an Administrator worked.
Upvotes: 11
Reputation: 7819
If there are two instances of MySql it's normal that it gives such an error if they both run at the same time. If you really need 2 servers, you must change the listening port of one of them, or if you don't it's probably better to simply uninstall one of them. This is so regarless of MySql itself, because two programs cannot listen on the same port at the same time.
Upvotes: 2