Can't open the mysql.plugin table. Please run mysql_upgrade to create it
Solution 1
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.
Solution 2
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.
Related videos on Youtube
Dims
Software developer & Machine Learning engineer C/C++/Java/C#/Python/Mathematica/MATLAB/Kotlin/R/PHP/JavaScript/SQL/HTML/ LinkedIn: http://www.linkedin.com/in/dimskraft Telegram: https://t.me/dims12 I prefer fishing rod over fish.
Updated on November 29, 2020Comments
-
Dims almost 3 years
I have downloaded mysql ZIP from here https://dev.mysql.com/downloads/file/?id=467269
Then extracted it, renamed
my-default.ini
tomy.ini
, setbasedir = 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.
-
zzapper about 6 yearsmysqld --initialize-insecure fixed my problem with Wamp64
-
Kennedy Maikuma almost 2 yearsIf you are using windows, specially Laragon, start by removing the data/mysql-8 directory. Then go and execute mysqld --initialize-insecure from the bin directory of mysql-8.0.27-winx64 or the version of MySQL you are using. Please ensure you have back up your Db