xampp MySQL does not start
MysqlXamppMysql Problem Overview
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.
Mysql Solutions
Solution 1 - Mysql
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
Solution 2 - Mysql
You have two versions of mysql using the same port 3306
.
Change the port by:
- Stop the xampp server, if it is already running.
- Edit the value to "port" in xampp/mysql/bin/my.ini
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
Solution 3 - Mysql
I found out that re-installing Xampp as an administrator and running it as an Administrator worked.
Solution 4 - Mysql
Try this: really quick + worked for me:
- Open Task Manager > Services Tab
- Find "mysqlweb" service > right-click it to stop service
- Launch Xampp again
ps: excuse image below for different language :)
Solution 5 - Mysql
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.
Solution 6 - Mysql
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.
Solution 7 - Mysql
Same issue on macOS and got it fixed by running the same installer again.
Whereas I COULD NOT get it fixed by
- Changing port
- Rebooting XAMPP
- Restarting system
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.
Solution 8 - Mysql
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.
Solution 9 - Mysql
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.
Solution 10 - Mysql
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.
- Stop the Apache Server from XAMPP Control Panel (if running)
- Now open XAMPP Control Panel => Config (Top Right) => MySQL and change the Main Port to 3307 => Save => Save
- Click Config of MySQL (From Control Panel only) => my.ini and then Change all the occurrences of 3306 to 3307 (Search using ctrl + F and replace all)
- Click Config of Apache (From Control Panel only) => config.inc.php and then search for the line:
$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.
Solution 11 - Mysql
My fix was to stop MySQL57 in services, Xampp now starts/stops Apache/MySQL as expected.
Solution 12 - Mysql
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 clickExplorer
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.