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

63,960

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.

Share:
63,960

Related videos on Youtube

Dims
Author by

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 May 15, 2022

Comments

  • Dims
    Dims 13 days

    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.

  • zzapper
    zzapper over 4 years
    mysqld --initialize-insecure fixed my problem with Wamp64
  • Kennedy Maikuma
    Kennedy Maikuma 7 months
    If 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