Mysql Error:The user specified as a definer (‘mysql.infoschema’@’localhost’) does not exist’ when trying to dump tablespaces

我的MYSQL 使用Docker进行部署的,当我进行版本升级(MySQL 5.7 to MySQL 8.0)之后,尝试进行连接的时候就会报这个错误。

解决办法:
来源https://dev.mysql.com/doc/refman/8.0/en/upgrading-strategies.html)

(来源 update : https://dev.mysql.com/doc/refman/8.0/en/docker-mysql-getting-started.html#docker-upgrading)

docker exec -it mysql bash
mysql -u root -p
mysql> SET GLOBAL innodb_fast_shutdown = 1;
mysql_upgrade -u root -p

2 Comments

  • 你好 我用了您的方法 在最后输入mysql_upgrade -u root -p后出现以下语句

    D:\>cd D:\Program Files\mysql-8.0.21-winx64\mysql-8.0.21-winx64\bin

    D:\Program Files\mysql-8.0.21-winx64\mysql-8.0.21-winx64\bin>mysql -u root -p
    Enter password: ****
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 47
    Server version: 8.0.21 MySQL Community Server – GPL

    Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.

    Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

    mysql> SET GLOBAL innodb_fast_shutdown = 1;
    Query OK, 0 rows affected (0.00 sec)

    mysql> exit
    Bye

    D:\Program Files\mysql-8.0.21-winx64\mysql-8.0.21-winx64\bin>mysql_upgrade -u root -p
    Enter password: ****
    The mysql_upgrade client is now deprecated. The actions executed by the upgrade client are now done by the server.
    To upgrade, please start the new MySQL binary with the older data directory. Repairing user tables is done automatically. Restart is not required after upgrade.
    The upgrade process automatically starts on running a new MySQL binary with an older data directory. To avoid accidental upgrades, please use the –upgrade=NONE option with the MySQL binary. The option –upgrade=FORCE is also provided to run the server upgrade sequence on demand.
    It may be possible that the server upgrade fails due to a number of reasons. In that case, the upgrade sequence will run again during the next MySQL server start. If the server upgrade fails repeatedly, the server can be started with the –upgrade=MINIMAL option to start the server without executing the upgrade sequence, thus allowing users to manually rectify the problem.

    Reply
    • 我看你的提示,大概意思是 这个升级指令已经过时了,现在服务器会自动升级你的数据文件,并且不用重启。这个升级会自动执行,可能会升级失败,如果升级失败,需要手动介入了。你的问题解决了吗?

      Reply

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Scroll to Top