,

XAMPP: Another MySQL daemon is already running

Posted by

Limited Time Offer!

For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!

Enroll Now

This problem happens when MySQL or MariaDB, which comes with XAMPP, is unable to start because another instance of MySQL is already operating on your system. To resolve this, perform the troubleshooting procedures listed below.

Step 1: Identify the Running MySQL Service

The first step is to confirm if another instance of MySQL or MariaDB is running on your system.

For Windows:

Check running services:

  • Press Windows + R, type services.msc, and hit Enter.
  • Scroll down and look for MySQL or MariaDB. If you find it running, right-click on it and select Stop.

Check Task Manager:

  • Press Ctrl + Shift + Esc to open Task Manager.
  • Look under the Processes tab for any MySQL or MariaDB processes. Select the process and click End Task.

For macOS or Linux:

Check running services:

  • Open a terminal and run the following command:
sudo service mysql status
  • If MySQL is running, stop it using:
sudo service mysql stop

Kill MySQL Process:

  • To check if a MySQL process is running, use:
ps aux | grep mysql
  • If you find any MySQL processes running, kill them with:
sudo kill -9 <PID>

Step 2: Change the MySQL Port in XAMPP

If you are running another MySQL service on port 3306, you can change the default port in XAMPP to avoid conflicts.

  1. Stop the MySQL Service in XAMPP:
    • Open the XAMPP Control Panel and stop MySQL if it is running.
  2. Change the MySQL Port in XAMPP:
    • Go to the folder where XAMPP is installed, typically:
      • Windows: C:\xampp\
      • Linux/macOS: /opt/lampp/
    • Open the file my.ini located in the mysql/bin/ directory.
    • Look for the following line: port=3306
    • Change the port number (e.g., 3307 or 3308).
    • Save and close the file.
  3. Update the XAMPP Control Panel (Windows only):
    • In the XAMPP Control Panel, click on Config next to MySQL, then select my.ini.
    • Ensure the port number matches the one you just set.

Step 3: Reconfigure Other Applications Using MySQL

If you have applications connected to MySQL, like PHPMyAdmin or other services, you’ll need to update their configuration files to point to the new port.

  1. PHPMyAdmin Configuration:
    • Navigate to the phpMyAdmin folder inside the XAMPP installation directory.
    • Open the config.inc.php file.
    • Locate the following line:
$cfg['Servers'][$i]['port'] = '3306';
  • Change 3306 to the new port number you set (e.g., 3307).
  • Save the file.

2. Reconfigure Other Applications:

  • Any other applications connecting to MySQL will need to be updated with the new port.

Step 4: Restart XAMPP

Restart XAMPP:

  • Go back to the XAMPP Control Panel and try starting MySQL again.

Verify the MySQL Status:

  • Open your browser and go to http://localhost/phpmyadmin. Check if MySQL is now running without issues.

Step 5: Check for Port Conflicts Using Command Line (Optional)

If the issue persists, it may be helpful to check for port conflicts.

For Windows:

  1. Open Command Prompt and run:
netstat -aon | findstr 3306
  • This will show you if another service is using port 3306. If it is, take note of the PID.

2. Open Task Manager and go to the Processes tab. Look for the process associated with that PID and terminate it if it’s a conflicting service.

For macOS/Linux:

  1. In the terminal, use:
sudo lsof -i :3306

This will list processes using port 3306. If a conflict exists, you can kill the process with:

sudo kill -9 <PID>

Step 6: Reinstall MySQL (As a Last Resort)

If you’ve followed all the steps and the problem persists, you may need to reinstall MySQL in XAMPP.

  1. Backup your databases:
    • Go to C:\xampp\mysql\data (or the equivalent path on your system) and back up your databases by copying this folder.
  2. Uninstall MySQL in XAMPP:
    • In the XAMPP Control Panel, stop MySQL and click Uninstall.
  3. Reinstall MySQL:
    • Reinstall MySQL from the XAMPP installer or download a fresh copy of XAMPP.
  4. Restore your databases:
    • After reinstalling, copy your backup data folder back to C:\xampp\mysql\data.

Conclusion

The “Another MySQL daemon is already running” problem in XAMPP should be fixed by doing these steps. Although port conflicts are the most frequent reason, the problem may typically be resolved by reinstalling MySQL or changing the port.

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x