0

我正在 Windows 10 上将 MySQL 服务器 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. 

好的,所以我使用以下命令以管理员身份打开了 cmd:

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_upgrade 需要连接到正在运行的服务。

怎么了?

4

2 回答 2

2

不支持跳过主要版本 (5.1),可能会也可能不会。适当的升级是以下之一:

计划 A:升级到 5.1,然后升级到 5.5。mysql_upgrade 在每一步运行。

计划 B:使用 mysqldump 从 5.0 转储数据。(一定要获得例程等)。吹走(或绕过)5.0 并安装新的 5.5。重新加载数据。转储文件中可能存在语法错误,如果需要,请编辑该文件。

于 2018-05-28T13:19:54.803 回答
0

由于您要从 5.0 升级到 5.5,因此不推荐使用某些配置值,从而导致引擎无法启动。

最有可能的罪魁祸首是skip-dbd,正如本网站所解释的那样。

所以:找到你的 MySQL 配置文件,注释掉这个skip-dbd选项并重启 MySQL 服务。然后,您可以mysql_upgrade使用适当的选项(包括身份验证)运行。

于 2018-05-28T07:22:08.177 回答