我正在将Windows10上的MySQL server 5.067升级到5.5.60。
我停止了该服务,将bin替换为一个共享目录并启动了该服务。
服务启动失败,并显示以下消息(在事件查看器中):
Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
For more information, see Help and Support Center at http://www.mysql.com. 好的,所以我使用以下命令以admin身份打开cmd:
mysql_upgrade --port 64202With结果:
Looking for 'mysql.exe' as: C:\Program Files (x86)\XXX\MySQLServer\bin\mysql.exe
Looking for 'mysqlcheck.exe' as: C:\Program Files (x86)\XXX\MySQLServer\bin\mysqlcheck.exe
Error: Failed while fetching Server version! Could be due to unauthorized access.
FATAL ERROR: Upgrade failedMySQL升级的设计是通过TCP连接到MySQL来运行升级,但是如果服务没有运行,它怎么可能工作呢?这是一个恶性循环- MySQL服务需要升级才能启动,而mysql_upgrade需要连接到正在运行的服务。
怎么啦?
发布于 2018-05-28 21:19:55
跳过主要版本(5.1)不受支持,可能会也可能不会起作用。适当的升级是以下之一:
计划A:升级到5.1,然后升级到5.5。在每个步骤中运行mysql_upgrade。
B计划:使用mysqldump转储5.0中的数据。(请确保获得例程等)。关闭(或绕过) 5.0并安装全新的5.5。重新加载数据。转储文件中可能存在语法错误,如果需要,请编辑该文件。
发布于 2018-05-28 15:22:08
由于您要从5.0升级到5.5,因此有些配置值已被弃用,从而导致引擎无法启动。
正如this site上解释的那样,最有可能的罪魁祸首是skip-dbd。
因此:找到您的MySQL配置文件,注释掉skip-dbd选项并重新启动MySQL服务。然后,您可以使用包括身份验证在内的适当选项来运行mysql_upgrade。
https://stackoverflow.com/questions/50529921
复制相似问题