今天早上,我的mysql在我的系统上被自动更新,从5.7版升级到8.0.11版。
在此之后,我看不到我的任何数据库,也无法在phpmyadmin上运行任何命令。我尝试做的每件事都会导致一些涉及 mysql.infoschema
table。
我遇到的大多数错误如下: #1449 - The user specified as a definer ('mysql.infoschema'@'localhost') does not exist
我已经搜索了错误并尝试运行命令来创建用户 GRANT ALL ON *.* TO 'someuser'@'%' IDENTIFIED BY 'complex-password'; FLUSH PRIVILEGES;
从这个答案中可以看出。但我一直有语法错误。
在搜索了涉及5.7和8.0.11版本的突破性问题之后,我在这个站点上看到系统表被移到了innodb。
mysql的第一个存储引擎是myisam,到目前为止已经在mysql中提供了。mysql 5.7在mysql模式中仍然使用myisam作为mysql特权表,但是在mysql中它们被移动到innodb。
我甚至尝试了新安装的8.0.11版本,这样我就可以导入我的数据库了,但是我在尝试以root身份登录时遇到了相同的#1449错误。
另外,我用的是软呢帽28。
1条答案
按热度按时间dgenwo3n1#
你应该执行
mysql_upgrade
每次升级mysql时。这是因为在某些升级或降级之后,表会发生更改,您需要(重新)创建一些特权