Conflicting ports of mySQL and XAMPP

∥☆過路亽.° 提交于 2019-12-21 02:26:09

问题


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 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

回答1:


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

4) Save the file and open XAMPP Control Panel

5) In XAMPP Control Panel Click on Config > Service and Port Settings

6) Goto MySQL Tab

7) Change Service name mysql to mysqlxampp and Main port 3306 to 3307

8) Click on Save then Save and close XAMPP

9) 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.




回答2:



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.




回答3:


Restart your machine then use command line netstat. It will show you what application have ports open.



来源:https://stackoverflow.com/questions/32173242/conflicting-ports-of-mysql-and-xampp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!