mysql\u升级和mysql服务-恶性循环

mzmfm0qo  于 2021-06-23  发布在  Mysql
关注(0)|答案(2)|浏览(222)

我正在将Windows10上的MySQLServer5.067升级到5.5.60。
我停止了服务,替换了一个共享目录并启动了服务。
服务启动失败,出现以下消息(在事件查看器中):

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.

好的,我打开cmd作为admin命令:

mysql_upgrade --port 64202

结果如下:

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 failed

mysql升级的设计是通过tcp连接到mysql来运行升级,但是如果服务没有运行,它怎么可能工作呢?这是一个恶性循环-mysql服务需要升级才能启动,mysql\U升级需要连接到正在运行的服务。
怎么了?

hmmo2u0o

hmmo2u0o1#

由于您要从5.0升级到5.5,有些配置值已被弃用,导致引擎无法启动。
最有可能的罪魁祸首是 skip-dbd ,如本网站所述。
所以:找到你的mysql配置文件,注解掉 skip-dbd 选项并重新启动mysql服务。那你就可以跑了 mysql_upgrade 包括身份验证在内的适当选项。

wribegjk

wribegjk2#

不支持跳过主要版本(5.1),可能也可能不起作用。适当的升级是以下之一:
方案a:升级到5.1,然后升级到5.5。跑 mysql_upgrade 在每一步。
方案b:使用mysqldump转储5.0中的数据(一定要有例行公事等)。吹走(或旁路)5.0并安装新的5.5。重新加载数据。转储文件中可能有语法错误,请根据需要编辑该文件。

相关问题