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.
Delete or rename the 2 following files from "C:\ProgramData\MySQL\MySQL Server 5.7\Data": ib_logfile0 ib_logfile1
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.
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.
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
In my case, mysqld was starting and stopping with no error message. I needed to open command prompt using "Run as Administrator", and then run mysqld.
I am only doing this for temporary development. I would not recommend running MySQL as an administrator in any case.
This was the final step after the above troubleshooting.
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
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.
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.
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.
non of the above actually works so delete mysql,reinstall mysql,restore back if any...enjoy
This may be because of changing lower_case_table_names
after a server has been already initialized.
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:
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:
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.
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.
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
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.
mysqld --initialize
Run the above after the install command. Then try to start the service - that should work.
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
Rename or delete the folder under,
C:\ProgramData\MySQL\MySQL Server 5.7
folder name change as per your MYSQL version number.
Search for services.msc and look up through your services that are running if there is a mysql service running already other than the one you want to run (it could be xampp or wamp) or another service (for example Skype) using the same port as mysql and stop the service so you can run your mysql service.
In my case, I tried to open a DOS prompt and
go to the MySQL bin\
directory and issue the below command:
mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --standalone --console
And it shows me I was missing the "C:\Program Files\MySQL\MySQL Server 5.0\Uploads"
folder; I built one and problem solved.
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"
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!
Also remember to give NETWORK SERVICE permission to the folder:
Data
folderProperties
Security
tabAdvanced
Change Permissions...
Add...
NETWORK SERVICE
Check Names
OK
Full Control
OK
– four timesSource: Stackoverflow.com