Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Conflicting ports of mySQL and XAMPP

I've been using XAMPP/Apache for a while and recently decided to install MySQL. However it seems that they are conflicting. MySQL seems to be taking preference, and it functioning correctly, however XAMPP/Apache is giving me this error message when attempting to start Apache:

03:07:32 AM  [Apache]   Attempting to start Apache app...
03:07:33 AM  [Apache]   Status change detected: running
03:07:33 AM  [Apache]   Status change detected: stopped
03:07:33 AM  [Apache]   Error: Apache shutdown unexpectedly.
03:07:33 AM  [Apache]   This may be due to a blocked port, missing dependencies, 
03:07:33 AM  [Apache]   improper privileges, a crash, or a shutdown by another method.
03:07:33 AM  [Apache]   Press the Logs button to view error logs and check
03:07:33 AM  [Apache]   the Windows Event Viewer for more clues
03:07:33 AM  [Apache]   If you need more help, copy and post this
03:07:33 AM  [Apache]   entire log window on the forums

I tried following the instructions here: http://www.complete-concrete-concise.com/web-tools/how-to-change-the-apache-port-in-xampp

And I've tried changing the document: httpd.conf in xampp/apache/conf

Changing 'Listen 80' to various things, and after restarting the application I had the same error message occur.

Would greatly appreciate any assistance in this matter. I'd prefer not to remove mySQL just to use XAMPP, but will if there is no way for them to both operate simultaneously.

Thanks in advance.

EDIT:

My reason for believing it is conflicting with MySQL is this:

03:26:51 AM  [mysql]    Problem detected!
03:26:51 AM  [mysql]    Port 3306 in use by ""C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" MySQL56"!
03:26:51 AM  [mysql]    MySQL WILL NOT start without the configured ports free!
03:26:51 AM  [mysql]    You need to uninstall/disable/reconfigure the blocking application
03:26:51 AM  [mysql]    or reconfigure MySQL and the Control Panel to listen on a different port

I'm having some difficulties disabling mySQL temporarily to make use of XAMPP/Apache. Is there any way to change the ports so that they can co-exist?

EDIT 2:

Tried to follow instructions here: http://silentlyrun.blogspot.com.au/2013/02/how-to-change-apache-n-mysql-port-for.html

I encounter these error messages after:

09:13:22 AM  [main]     Initializing Modules
09:13:22 AM  [Apache]   Problem detected!
09:13:22 AM  [Apache]   Port 80 in use by "Unable to open process" with PID 4084!
09:13:22 AM  [Apache]   Apache WILL NOT start without the configured ports free!
09:13:22 AM  [Apache]   You need to uninstall/disable/reconfigure the blocking application
09:13:22 AM  [Apache]   or reconfigure Apache and the Control Panel to listen on a different port
09:13:22 AM  [Apache]   Problem detected!
09:13:22 AM  [Apache]   Port 443 in use by "Unable to open process" with PID 4084!
09:13:22 AM  [Apache]   Apache WILL NOT start without the configured ports free!
09:13:22 AM  [Apache]   You need to uninstall/disable/reconfigure the blocking application
09:13:22 AM  [Apache]   or reconfigure Apache and the Control Panel to listen on a different port

With these instructions, should the new port be the same? I assume so because they are both originally 80.

4. Search the string "Listen" in the file.
5. Replace port number 80 to any other unused port number.
6. Search for "ServerName" in the file.
7. Replace port number 80 to any other unused port number in the ServerName.

EDIT 3:

For a reason unknown to me, XAMPP/MySQL works without issue after a reinstall and port change from the silentlyrun.blogspot link above. However XAMPP/Apache is still giving issues:

09:32:14 AM  [Apache]   Error: Apache shutdown unexpectedly.
09:32:14 AM  [Apache]   This may be due to a blocked port, missing dependencies, 
09:32:14 AM  [Apache]   improper privileges, a crash, or a shutdown by another method.
09:32:14 AM  [Apache]   Press the Logs button to view error logs and check
09:32:14 AM  [Apache]   the Windows Event Viewer for more clues
09:32:14 AM  [Apache]   If you need more help, copy and post this
09:32:14 AM  [Apache]   entire log window on the forums
like image 283
carlvdm Avatar asked Aug 24 '15 01:08

carlvdm


People also ask

Can we use XAMPP and MySQL together?

Xampp is a useful Apache distribution installer that will let you install phpMyAdmin, MySQL, as well as FileZilla and Apache.

What port does XAMPP MySQL use?

Port 3306 is the default port for the classic MySQL protocol ( port ), which is used by the mysql client, MySQL Connectors, and utilities such as mysqldump and mysqlpump.

How do I fix MySQL port 3306 already in use?

Scroll down to # The MySQL server. default-character-set=utf8mb4 [mysqld] skip-grant-tables=TRUE port=3306 socket="C:/xampp/mysql/mysql. sock" then change the port number from 3306 to 3307.


2 Answers

To Resolve MySQL Port and Service conflict when already another MySQL Server is running, you need to follow following steps:-

  1. Close XAMPP Server

  2. Open file C:\xampp\mysql\bin\my.ini (C: is the default XAMPP Installation)

  3. Replace the port number 3306 with 3307

# password       = your_password  
port            = 3307
socket         = "C:/xampp/mysql/mysql.sock"

and

\# The MySQL server
[mysqld]
port= 3307
  1. Save the file and open XAMPP Control Panel (Run as Administrator, otherwise it will not allow following changes)

  2. In XAMPP Control Panel Click on Config > Service and Port Settings

  3. Goto MySQL Tab

  4. Change Service name mysql to mysqlxampp and Main port 3306 to 3307

  5. Click on Save then Save and close XAMPP

  6. Run Again XAMPP and you will be able to start the MySQL Server

You might also face issue with phpMyAdmin

For which you can add line

$cfg['Servers'][$i]['port'] = '3307';

in your config.inc.php file in phpMyAdmin root directory.

like image 172
Ashish Avatar answered Oct 14 '22 17:10

Ashish



If you have installed MySQL separately and also have XAMPP's MySQL running, then you will have this issue. The conflict is for port 3306 and not for port 80. I suggest you follow the guidelines mentioned here:

http://silentlyrun.blogspot.com.au/2013/02/how-to-change-apache-n-mysql-port-for.html

This worked for me when I had MySQL installed separately and also as a part of XAMPP.

like image 27
sraje Avatar answered Oct 14 '22 17:10

sraje