Xampp MySQL not starting - "Attempting to start MySQL service..." - mysql

I've just installed XAMPP for Windows - should be the newest version (XAMPP Control Panel v3.2.1).
Apache is running just fine on port 80 and 443, but MySQL is not starting. When I press the start button, I get this message:
Attempting to start MySQL service...
Then a window pops up and asks me if I want to allow this, which I want. But nothing happens after that. I can press as many times as I want, but with the same result.
What can I do with MySQL?

If you have MySQL already installed on your windows then go to services.msc file on your windows and right click the MySQL file and stop the service, now open your XAMPP and start MySQL. Now MySQL will start on the port 3306.

I had an issue with this because I had accidentally installed XAMPP to c:\windows\program files (x86) which caused a Windows permissions issue.
The installation says not to install it there, but I thought it had said to install it there.
I uninstalled and reinstalled to c:\xampp and it worked.

After Stop xampp, go to configure and change the port 3306 to 3308 of mysql and save. Now start the sql......Enjoy

In the cmd type: services.msc Find MySql and change properties to the disabled.
In the control panel of Xampp uninstall MySql by the checkbox on the left side, and install again by the click in the same checkbox.

Windows 10 Users:
I had this issue too. A little bit of investigating helped out though. I had a problem before this one, that 3306 was being used. So what I found out was that port 3306 was being used by another program. Specifically a JDBC program I was trying to learn and I had xammp installed before I tried this JDBC out. So I deleted the whole file and then here I am, where you're at. The issue was that my 'ImagePath'(registry variable) was changed upon installing mySql again. To put it simply, xammp doesn't know where your mysqld.exe is at anymore, or the file is not in the location that you told it to be. Here's how to fix it:
Open run (Win + r) and type 'regedit'. This is where you edit your registry.
Navigate to: HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > MySql
Click on mySql and notice the ImagePath variable. Right click 'ImagePath' and click modify.
Enter the location of your xammp mySqld file (navigate through xammp to find it) Although it is likely the same as mine.
Cool Sources:
https://superuser.com/questions/222238/how-to-change-path-to-executable-for-a-windows-service/252850
https://dev.mysql.com/doc/mysql-windows-excerpt/5.7/en/mysql-installation-windows-path.html
Thanks dave

One of many reasons is xampp cannot start MySQL service by itself. Everything you need to do is run mySQL service manually.
First, make sure that 'mysqld.exe' is not running, if have, end it. (go to Task Manager > Progresses Tab > right click 'mysqld.exe' > end task)
Open your services.msc by Run (press 'Window + R') > services.msc or 0n your XAMPP ControlPanel, click 'Services' button.
Find 'MySQL' service, right click and run it.

Only stop My sql In Xampp For 15 Min After 15 min restart Mysql .If my sql running But Port Not Showing in Xampp then Click Config > my.ini edit this file and change port no 3306 > 3307 and save and Restart xampp .........

Only for windows
I have fixed the mysql startup issue by following below steps
Steps:
Open CMD and copy paste the command netstat -ano | findstr 3306
If you get any result for command then the Port 3306 is active
Now we want to kill the active port(3306), so now open powershell and paste the command
Stop-Process -Id (Get-NetTCPConnection -LocalPort 3306).OwningProcess -Force
Where 3306 is active port. Now port will be inactive
Start Mysql service from Xampp which will work fine now
Note: This works only if the port 3306 is in active state. If you didn't get any result from step 1 this method is not applicable. There could be some other errors
For other ports change 3306 to "Required port"
Ways to open CMD and Powershell
For CMD-> search for cmd from start menu
For Powershell-> search for powershell from start menu

Had this problem today, on a Windows 10 machine. Opened C:\xampp\data\mysql_error.log and looked for lines containing [ERROR].
Last error line was:
... [ERROR] InnoDB: File (unknown): 'close' returned OS error 206. Cannot continue operation
Important note: if your error is different, google it (you'll likely find a fix).
Searching for the above error, found this thread on Apache Friends Support Forum, which led me to the fix:
Open C:\xampp\mysql\bin\my.ini and add the following line towards the end of [mysqld] section (above the line containing ## UTF 8 Settings):
innodb_flush_method=normal
Restart MySQL service. Should run just fine.

Did you use the default installation path?
In my case, when i ran mysql_start.bat I got the following error:
Can`t find messagefile 'D:\xampp\mysql\share\errmsg.sys'
I moved my xampp folder to the root of the drive and it started working.
Hope it helps

If you have other testing applications like SQL web batch etc, uninstall them because they are running in port 3306.

I have the same problem. Finally found the solution:
The Relocate XAMPP option in the setup tool didn't correctly relocate the paths and corrupted them, I've manually changed the directories inside my.ini (base dir, data dir , ...). After that mysql started successfully.

The problem I had was changing the path of the Xammp folder in the system.

I can share how I solved the problem in my case.
It seems that somehow I had mySQL Server 5.7 installed. It didn't show on Add/Remove Programs list in Windows tough so I wasn't aware of it. I marked that after I looked up the XAMPP log.
Just after XAMPP launched it has shown in the log that there is a conflict in mySQL and indicated the folder where my mySQL Server 5.7 is installed. I removed mySQL 5.7 manually from Program Files (x86) and ProgramData folder, restarted and XAMPP mySQL started normally then.
I've tried only stopping the mySQL service but for me it didn't work. Only manually deleting all mySQL 5.7 folders seemed to have helped.

Everytime my MySQL starts, it will stop, then I noticed that some files are getting generated in C:\xampp\mysql\data. I tried deleting some files (like the Error logs, err file, etc.) on that directory. Back up first what you're going to delete to avoid losing data.
I don't know how it works. I'm just trying to enable HTTPS in my local machine but then suddenly MySQL can't be started. But now it's working.
I'm using Windows 10 and XAMPP 3.2.4.

This worked for me.
Search for Services in Windows Start
Find MySQL in it.
Right Click and Stop MySQL. Would work on XAMPP Now.
Note: If you wanna use the MYSQL prompt again, you will have to start the MYSQL from Service again.

In my case I had xampp installed with PHP 7.4.
But I needed PHP 8.
I downloaded xampp with PHP 8.
Installed it to C:/xampp8/ folder. When I started the new version, it started successfully.
But then I realized that I needed the database data from the old xampp installation. I stopped the new xampp(php 8 version) , and tried to start xampp (php 7.4 version) and saw that Apache started and was working fine, but mysql was not starting.
I tried many settings but couldn't start mysql from the old xampp.
Solution in my case to copy the data to the new xampp
I went to C:/xampp_old/mysql/data folder. And saw that each of my database has a separate folder inside data folder. I copied all the folders and pasted into
C:/xampp8/mysql/data/
Then I started new xampp and looked in phpmyadmin via browser and I got all my databases back.

In the xampp control panel, to the left of "MySQL" there is a green checkbox, click it to uninstall MySQL service. After that you can start MySQL from the same control panel. You can install those services again, it will still work.

What worked for me was to run xampp "as administrator". Fixed.

I solved this problem by removing all the information in the path
C:\xampp\mysql\data
And copy the information inside this path
C:\xampp\mysql\backup

In Windows, you should go: Start > Run > services.msc > Apache 2.4 > Properties > Start Mode > Automatic > Apply > Start > OK > [Same as MySQL]

if all solutions up did not work for you, make sure the service is running and not set to Disabled!
Go to Services from Control panel and open Services,
Search for Apache2.4 and mysql then switch it to enabled, in the column of status it should be switched to Running

Related

Specified port 3306 is already in use when installing MySQL

I had used MySQL earlier and then later uninstalled it. But now when I try to re-install, it says that "the specified port 3306 is already in use". Is there any way to solve this problem?
I tried this method to solve but it didn't help
Another instance is already running:
This error occurs when MySql has been installed by you in command
line (cmd) before installing XAMPP server.
Open cmd and run as administrator
So, type this in command-line (cmd ) = “sc delete mysql”
It will show you that the running instance has deleted successfully.
1.Go to Run
2.Type "services.msc"
3.Search MySQL in running status and stop it.
4.Refresh the server and now install.
If you are linux user,
Find the task that use port 3306 with command
lsof -i TCP:3306
Find the PID of the task and kill it with command
kill -9 PID_NUMBER
If you are on a Windows machine, I suggest you to follow the steps mentioned below to uninstall MySQL from the device.
Step 1
Uninstall MySQL from Control Panel. To do so,
Go to Control Panel > Programs and Features > Select MySQL > Click on Uninstall.
After you have uninstalled MySQL through Add/Remove programs, you now need to remove the existing database information which includes your actual data. If you need any of that data, be sure to back it up. Next you can delete the data directory.
Step 2
Run Command Prompt as Administrator and execute the following command to stop and remove MySQL service.
Net stop MySQL
Sc delete MySQL
Step 3
Click on Start, type in Show hidden files and folders.
Select the View tab and select Show hidden files and folders.
Now explore the following locations and delete following folders.
C:\Program Files\MySQL
C:\Program Files (x86)\MySQL
C:\ProgramData\MySQL
And if exists, delete the folder from the location.
C:\Users[Your-User-Name]\AppData\Roaming\MySQL
Restart your device and check the status.
source: Microsoft
On windows Ctrl + shift + delete to open task manager. Go-to services and scroll down to MySQl80, right click on it and select stop. Restart your xampp and start MySQL.

MySQL Server on MAMP-Windows Will Not Start

I am using MAMP 4.1 on Windows 10 and cannot get MySQL server to start. When I uninstalled MAMP and re-installed it MySQL server starts up, but when I stop it, it will not start back up. I also went into the \mamp\db\mysql\ and deleted the four log files hilited below. Then I turned the server off, then back on, but only Apache starts up, not MySQL.
There is also a process running in services called MySQL80. When I try to start it I get the error message shown. I have tried many ways to delete it, including going to the command prompt and using "sc mysql80" and going to 'regedit'. MySQL80 does not show up anywhere so that I can delete it.
Also, the Resource Monitor below shows that Apache is running on port 80, but nothing on port 3306. And yes, my MAMP Preferences are set to port 3306 for MySQL.
When MySQL was running, I had 2 processes of 'mysqld' listening: one session on IPv6 Port 3306, and the other session on IPv4 Port 3306?
What's wrong and how do I fix it?
And, is there suppose to be (2) sessions of 'mysqld' both listening on port 3306 where one is on IPv6 and the other is on IPv4?
Thanks Community.
MAMP Control Panel
mysql80 Service
Resource Window with Ports Listed
MAMP Log Files
I had the same problem. I contacted mamp support, and their answer was the following; it worked for me. Hope this helps you too. Stop all servers in MAMP.
The below assumes your MAMP installation directory is C:\MAMP\.
For MAMP:
With Windows Explorer go to folder C:\MAMP\db\mysql\
First backup all files that begin with mysql-bin.*, then delete them (including mysql-bin.index file.)
Then try starting all MAMP servers again (wait for MySQL to turn light on).
After that stop all MAMP servers again.
You'll now try to disable binary log-bin in MAMP (or MAMP PRO)
Open up MySQL configuration file in text editor of your choice: C:\MAMP\conf\mysql\my.ini
Find following text: log-bin
Comment this line by adding # character at start of line.
#log-bin=mysql-bin
Save and restart servers
After that put the mysql-bin.* files back in their place.
Turn off your MAMP Server.
Locate your db folder for mysql. Example: C:\MAMP\db\mysql
Rename the mysql-bin.index file to mysql-bin_old.index (or anything really)
Turn on your MAMP Server
This is a very common issue with MAMP. If this happened to you out of the blue, this is probably the fix.
This is what I did to solve this issue:
Quit MAMP if open
Navigate to /MAMP/tmp/mysql
Rename mysql.sock.lock
Restart MAMP
my issue was Avast Antivirus blocking MAMP, disabled for 10 minutes and Apache started
I had the same problem today.
I did try removing everything from C:\MAMP\db\mysql\ and tried to restart MAMP & servers. But it failed.
Then I noticed the following error in the mysql log file /MAMP/logs/mysql_error_log.err
[error] Cannot open windows event_log ; check privileges
This basically means that you don't have sufficient access.
So
I replaced all the files that I originally deleted
shutdown the server & MAMP.
Now right click on the MAMP icon & choose run as administrator
Now it starts up normally
Uninstall entire MAMP and also any other xamap and wamp if you install previously.
Check the drive C. No any other folder or file related to this present there.
then reinstall MAMP again. All the problems are solve your apache and mysql both start.
please vote me.
This is what worked for me :
Click on Start Servers in MAMP
Manually click on mysql.exe in
MAMP installation folder (C:\MAMP\bin\mysql\bin\mysql.exe)
Tip : You can pin mysql.exe to Start Menu so you don't always have to search for this folder

mysqld.exe - application error on Laragon start

I just installed Laragon but when it wants to start its services, it "freezes" when mySQL have to be launched, then shows me that message :
mysqld.exe - Application Error
This application was unable to start correctly (0xc000007b). Click OK to close the application.
After that, Laragon's window writes "initialize data..." then does not change until I stop all services.
I wanted to check the log files but... zero log. So impossible to have some details...
I've tried to uninstall and reinstall.
I've tried another version of mySQL.
None of them works. WAMP is also installed on my computer, but I don't really want to uninstall it (and I don't think that's problem since I have both at work).
I think MySQL 5.7 is not compatible with your OS.
You can try two options:
Copy your MySQL in WAMP to laragon\bin\mysql\
Use MariaDB

Issue with MySQL Server

My problem is that windows services don't have MySQL Server. How to run it?
I need to run MySQL Server on a new for me laptop. There's Windows 7. And MySQL have been installed on it. In order to verify this, I opened the Programs and Features window and saw it there:
But when I go to the Services to run it, I don't find it. It's absent there:
It's very strange for me. Why MySQL is not among the services? How can I run it? It's installed on this station.
Try performing the following steps and then check again.
Start Command Prompt (cmd)
Go to the "C:\Program Files\MySQL\MySQL Server 5.6\bin"
type mysqld --install
In my case I installed it through XAMPP so I do not have it among windows services (it has it´s own control panel), but I found this document that may help you solve this problem:
https://dev.mysql.com/doc/refman/5.1/en/windows-start-service.html
Also check the error log file which shows specific information about the start and stop of the service. In my case is called mysql_error.log and it is located under the '...mysql\data\' folder. Another document talking about that:
https://dev.mysql.com/doc/refman/5.7/en/error-log.html

XAMPP MySQL Terminating worker thread 1

I used to work with XAMPP to build PHP applications. Once I tried Zend engine and uninstalled it. After that, MySQL in XAMPP is not working. It is giving "Terminating worker thread 1" error.
When I check ports,
MySQL has status Service: MySQL_ZendServer51.
Pleas help me how to reassign it back to XAMPP? I have reinstalled XAMPP several times. But no use.
Thanks,
Raj
First you should delete the old mysql service.
Assuming you have Vista or Windows 7:
Go to Start and type cmd.exe in the search field and hit Ctrl+Alt+Enter. This will start the command line as Administrator.
Now you can type sc.exe delete MySQL_ZendServer51 to remove the service.
Now you can start your XAMPP Control Panel and uncheck the "svc" checkbox next to MySQL (if it's not already)
Next check it on again (this will install the proper mysql service)
And make sure you don't have to server running (which could be possible, that Zend installed it's own mysql but for some reason didn't removed it?)
I just went here: c:\xampp\mysql\bin\mysqld.exe
And opened the document and MySQL Started without problem.