Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't open the mysql.plugin table. Please run mysql_upgrade to create it

I have downloaded mysql ZIP from here https://dev.mysql.com/downloads/file/?id=467269

Then extracted it, renamed my-default.ini to my.ini, set

basedir = D:\Apps\MySQL\mysql-5.7.17-winx64
datadir = D:\Apps\MySQL\data5717

then started

mysqld --console

under admin privileges. All was described here: http://dev.mysql.com/doc/refman/5.7/en/windows-install-archive.html

Unfortunately it prints the following in console:

[ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

and doesn't work.

like image 979
Dims Avatar asked Jan 08 '17 09:01

Dims


2 Answers

You probably misunderstood/skipped point 4 in your list, Initialize MySQL. It means to either copy an existing data directory there or to create a new one, see Initializing the Data Directory Manually Using mysqld .

To initialize a fresh data directory, you basically (after setting your config file) just have to run either

bin\mysqld --initialize

or

bin\mysqld --initialize-insecure

The latter will set an empty root password.

like image 134
Solarflare Avatar answered Oct 04 '22 21:10

Solarflare


If you set datadir to some other location than basedir, like we do, then you have to COPY, not move, the basedir databases there too. Apparently mysqld looks for some of it's own stuff in the wrong place. After the copy you have to change the owner and group of everything you copied to mysql.

sudo cp -R /usr/local/mysql/data/* /your/own/data/place sudo chown -R mysql:mysql /your/own/data/place

BTW you can't just change the basedir to match the new datadir after the copy.

like image 39
Kelly MacInnis Avatar answered Oct 04 '22 21:10

Kelly MacInnis