Kem Bardly
Kem Bardly

Reputation: 1675

the MySQL service on local computer started and then stopped

the MySQL service on local computer started and then stopped. Some services stop automatically if they are not in use by other services or programs.

Can anyone resolve this issue? Thanks.

Upvotes: 141

Views: 249900

Answers (30)

Ruwan Liyanage
Ruwan Liyanage

Reputation: 375

I got the same issue, and none of the fixes here worked for me. I suddenly remembered that after the last usage of MySql, I disabled some network adapters and the system got rebooted suddenly.

Following steps solved my issue starting the MySql server.

01- Open the Powershell as Administrator

02- Issue the command: net stop winnat

03- Open services by Win+R, services.msc

04- Right click MySql service and click start

05- Go back to Powershell

06- Issue the command: net start winnat

Done.

Upvotes: 0

iamgul
iamgul

Reputation: 79

For Mac users: I was facing a similar issue when 2 to 3 of my applications when locally connected to the MySql server version 5.6 through Eclipse, IntelliJ or even Sql Pro, the server automatically used to get stopped. I used to see this by going to System Settings > MySQL as shown in image.enter image description here After that, I tried to see the port used by the apps on which MySQL server was running, by using the below command, note that MySQL server by default runs in port number 3306. lsof -n -P -i | grep 3306 By looking at the output, it seemed like when there are more than 3/4 of the connections are made, the server stops automatically.enter image description here To fix this I tried numerous solutions for several hours and the one that worked for me was to increase the max_connections

I had installed the MySQL server manually using the package so the MySQL folder was created in /usr/local/mysql/

Inside this folder, we have a file called my.cnf So I edited the file by adding max_connections=20. After this, I stop the server manually from UI by hitting Stop MySQL Server as shown above in the image and started again from the same place, but it didn't worked, I was still getting the same issue.

After that I tried with command: sudo /usr/local/mysql/bin/mysqladmin -u root -p shutdown It will ask for the password of the server and it gets stop. After restarting it manually from the UI, I was able to connect all the applications at once and this resolved my issue. Please note if you don't have password, then you can run the same above command without -p flag as: sudo /usr/local/mysql/bin/mysqladmin shutdown Also note that my local MySql username is root.enter image description here

Some of the errors that I got while trying this.

/usr/local/mysql/bin/mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)'

This was resolved by providing the password. enter image description here

/usr/local/mysql/bin/mysqladmin: connect to server at 'localhost' failed error: 'Lost connection to MySQL server at 'sending authentication information', system error: 32'

This was coming when MySql Server was not stopped before running this, So I had manually stopped this and then run the command.

Upvotes: 0

hmehandi
hmehandi

Reputation: 366

cmd>mysqld --install
cmd> mysqld --initialize
Go to services-> mysql - start the service. In case there is still error, go to mysql-8.0.32-winx64\data directory.There will be an error file with .err extension.

In my case, it said, there are alreay files under /data directory. So, I leaned this up, and re-run
cmd> mysqld --initialize followed by services->mysql - start the service

Upvotes: 0

user503285
user503285

Reputation: 143

In mycase how this worked.

  1. Enter the following folder: C:\ProgramData\MySQL\MySQL Server 8.0\Data
  2. Check for folder #innodb_redo
  3. Empty the above folder
  4. Restart the service and MySQL80 has started now.

I hope the above answer helps for someone.

Upvotes: 0

Lojith Vinsuka
Lojith Vinsuka

Reputation: 1051

I had to restart my pc :|

After restarting pc, start MySQL service manually.

(I don't know the real issue)

enter image description here

Upvotes: 0

Raul Lapeira Herrero
Raul Lapeira Herrero

Reputation: 987

This happened in my install when I added the parameter

audit-log = ON

On the my.ini file, add to remove it for it to work

Upvotes: 0

user13960527
user13960527

Reputation: 53

Changing xampp folder's permission in windows to full control for 'authenticates user' fixed my problem.

Upvotes: 1

Qua285
Qua285

Reputation: 307

Go to "C:\ProgramData\MySQL\MySQL Server 8.0\Data\[machine name].err" and check the last rows - it should tell you why it failed. In my case it was duplicated tablespace id between databases.

It looks like this:

2021-09-12T05:19:22.815152Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2021-09-12T05:19:22.818357Z 0 [System] [MY-010116] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.22) starting as process 30664
2021-09-12T05:19:22.866774Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-09-12T05:19:22.908983Z 1 [ERROR] [MY-012209] [InnoDB] Multiple files found for the same tablespace ID:
2021-09-12T05:19:22.911667Z 1 [ERROR] [MY-012202] [InnoDB] Tablespace ID: 124 = ['db1\accounts.ibd', 'db2\accounts.ibd'] 
2021-09-12T05:19:22.915514Z 1 [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Failed, retry may succeed.
2021-09-12T05:19:22.918627Z 1 [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine
2021-09-12T05:19:22.927714Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2021-09-12T05:19:22.930912Z 0 [ERROR] [MY-010119] [Server] Aborting
2021-09-12T05:19:22.934432Z 0 [System] [MY-010910] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.22)  MySQL Community Server - GPL.

Upvotes: 2

user3709120
user3709120

Reputation: 55

make sure your data folder is fully empty before use command mysqld --initialize

Upvotes: -1

saber tabatabaee yazdi
saber tabatabaee yazdi

Reputation: 4959

another instance of mysql like 5.6 or 8 run at the same time

and the 80 port was reserved

please > go to >> services>> stop all another instance >> disable them

in my case problem solved and service started as well

Upvotes: 1

r Reddy
r Reddy

Reputation: 49

I have faced the same situation. I have changed the server-id=2 and when saved got this error. After a lot of research, I have found the solution. In windows after

changing my.ini mysql configuration file, save the file as ANSI rather than UTF-8

This has worked for me well.

Upvotes: 1

user5816728
user5816728

Reputation: 57

my.ini file should save as (Encoding) ANSI not UTF-8 or others files.

Upvotes: 2

pekaaw
pekaaw

Reputation: 2607

Such a problem can very often come due to configuration errors.

Vivek Sethi mentioned 20th December 2012 that it is possible to get logging in the console by running the following command:

C:\Windows\system32>"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.5\my.ini" --standalone --console

Right-clicking on my service in Windows 10, I recognized the --defaults-file= parameter, and with console logging I was able to see what was wrong in my configuration. In my case the path to datadir= and secure-file-priv= was wrong. I hope others can be empowered as well by being able to see logging details in the console. Good luck!

Upvotes: 0

Rob Farquharson
Rob Farquharson

Reputation: 140

I had the exact same message as displayed in the question. I have tried many suggestions with little luck. I was about to install WAMP (I'm on Windows) and was about to uninstall MySql 8.0 first, when I noticed a program included in the installation: 'MySQL Installer - Community' so I tried that. With this installer I set up a new connection, added password to root, added another user with password, set my choice of locations for all logs and ran the install. The result was that it now totally works.

Upvotes: 0

Srihari Karanth
Srihari Karanth

Reputation: 2167

You also might have accidentally added some wrong text in my.ini file. Make sure no invalid character is added at the beginning of the file.

Upvotes: 2

Pushkar Shrivastava
Pushkar Shrivastava

Reputation: 79

non of the above actually works so delete mysql,reinstall mysql,restore back if any...enjoy

Upvotes: 0

SMJ
SMJ

Reputation: 776

If you came across this while installing WAMP64 on Windows 10. Check if data folder in MySQL folder is missing. My WAMP 3.2.3 version installation failed to create such a folder. So wamp icon was orange (1 of 2 services running).

A quick fix was to run this command from MySQL location.

C:\wamp64\bin\mysql\mysql5.7.31\bin\
mysqld --initialize-insecure

Upvotes: 0

tleaha
tleaha

Reputation: 31

This problem is so complicated and depend on MySQL Version.My problem was happened on MySQL 8.0.2. When I've config my.ini file on notepad and save it.I soleved following @jhersey29 solution https://stackoverflow.com/a/55519014/1764354 but little different approch.

my solution is restore my.ini file and edit config value via Option files on WorkBench Application. workBench Menu Example

Upvotes: 3

PhuVu94
PhuVu94

Reputation: 39

Follow the below instruction as below to save your day:

If you modify my.ini not correct, you will find the trouble "the MySQL service on local computer started and then stopped". So you need to check your my.ini in "C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" again to make sure there is no strange command. If you don't know and want to restore to original, you can search on web with key word "my.ini configuration", download the latest and copy it to "C:\ProgramData\MySQL\MySQL Server 8.0\my.ini"

For whom delete the SQL service on Window or Linux, You can follow these step below:

(Window)

Delete Current Service

You need to stop MySQL80/MySQLXX in Service before carry out the action below Open commandLine of Window and run as administrator

sc delete mysql80 <= If you use mysql80, it will delete MySQL80 in Service

sc delete mysql <= If you use "mysql --initliaze", it will delete MySQL in Service

The command mysqld --initialize just create MySQL in Service of Window or Linux

So when you check it Path Executable, it misses my.ini so you can't use you MySQL Server although MySQL Service is working

For MySQL80

"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --install MySQL80 --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini"

For MySQLXX

"C:\Program Files\MySQL\MySQL Server X.X\bin\mysqld.exe" --install MySQLXX --defaults-file="C:\ProgramData\MySQL\MySQL Server X.X\my.ini"

=> It will create MySQLXX Service working with my.ini

Then MySQL works normally and you won't need to install your MySQL again.

I don't use Linux or Mac so I can't instruct - But you can find the answer above for reference

Upvotes: 3

PhuVu94
PhuVu94

Reputation: 39

the MySQL service on local computer started and then stopped

This Error happen when you modified my.ini in C:\ProgramData\MySQL\MySQL Server 8.0\my.ini not correct.

You can search my.ini original configuration or checking yours to make sure everything is OK

Upvotes: 0

Deepanshu
Deepanshu

Reputation: 147

The same problem happened with me also, nothing worked... I first deleted the service (in my case MySQL80 and MySQL) by command:

sc delete MySQL80
sc delete MySql

and then reinstalled MySQL. Mine was MySQL 8.0. And then everything was back to normal.

Upvotes: -1

Wes Henderson
Wes Henderson

Reputation: 117

I see this error when I install MySQL 8.x, edit the max_allowed_packet in the my.ini file, and then restart mysql on a Windows 10 machine. My recommendation, to avoid this issue, is to edit the my.ini file in a hex editor (something like Frhed). DO NOT USE NOTEPAD. It does something to the hex layout of the .ini file.

Upvotes: 4

Valantis Stergiopoulos
Valantis Stergiopoulos

Reputation: 422

Delete or rename the 2 following files from "C:\ProgramData\MySQL\MySQL Server 5.7\Data": ib_logfile0 ib_logfile1

Upvotes: -1

tom anderson
tom anderson

Reputation: 121

Using Community 8.0.17, upgraded from 8.0.16

There may be a more secure way of doing this, but since I'm just running a dev box:

  1. navigate to the \data folder
  2. make SURE the \data folder is EMPTY. If files exist the --initialize option will fail
  3. give SYSTEM Full Control permissions on the \data folder
  4. go back to your command prompt
  5. run mysqld --initialize

you should see all of the required data file structures in the data folder now. If they are not created, the mysqld process has contention or improper security to write into the folder correctly.

Now start your named service in whatever fashion you want (SC/NET/service.msc, etc)

Assuming all of the files were created properly by --initialize the service will start.

Upvotes: 12

Germa Vinsmoke
Germa Vinsmoke

Reputation: 3759

Nothing was working for me but then I checked here. I ran that command qc sc mysql57 and copied the value of BINARY_PATH_NAME from it. After that I checked this and changed the value of lower_case_table_names from 0 to 2 in my.ini file. Then in the command prompt, I ran this command - << BINARY_PATH_NAME >> --install-manual. After that, I started the MySQL57 service and it worked.

Upvotes: 2

Ehsan
Ehsan

Reputation: 1

If you have changed data directory (the path to the database root in my.ini) to an external hard drive, make sure that the hard drive is connected.

Upvotes: -2

Alex Khimich
Alex Khimich

Reputation: 828

This error happened in my case when secure-file-priv was pointing to unexistent folder, make sure it exists and readable.

The line of code example in my.ini: secure-file-priv="D:/MySQL/uploads"

Upvotes: 2

jhersey29
jhersey29

Reputation: 975

If using version 8 and you edit the my.ini I found that Notepad is putting 3 hex characters at the beginning of the my.ini file. EF BB BF. Deleting the 3 characters from the beginning of the file in a hex editor fixes the problem.

In version 8 they are accidentally putting Unicode characters in the ini file. This is causing Notepad to save the file with Byte order mark characters.

The following line in the file is the culprit "The line # range from 1 to 2^32 − 1. “Unique” means that each ID must be different." has 3 Unicode characters. This is causing notepad to append the byte order mark to the text file.

Upvotes: 81

devSK
devSK

Reputation: 2026

This may be because of changing lower_case_table_names after a server has been already initialized.

From the docs:

lower_case_table_names can only be configured when initializing the server. Changing the lower_case_table_names setting after the server is initialized is prohibited.

The solution to this problem is to set lower_case_table_names parameter at server installation as described in the following answer:

Can't set lower_case_table_names in MySQL 8.x on Windows 10

Upvotes: 8

Aris
Aris

Reputation: 5055

I had this issue after my database was working fine for long time. It turned out it was some data corruption.

In the error log I had:

2017-02-07T10:11:42.270567Z 0 [ERROR] InnoDB: Ignoring the redo log due to missing MLOG_CHECKPOINT between the checkpoint 44002250712 and the end 44002250240.
2017-02-07T10:11:42.270606Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2017-02-07T10:11:42.577436Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2017-02-07T10:11:42.577470Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2017-02-07T10:11:42.577484Z 0 [ERROR] Failed to initialize plugins.
2017-02-07T10:11:42.577488Z 0 [ERROR] Aborting

Then I had to delete the 2 ib_logfile* files, and it restarted again.

Upvotes: 0

Related Questions