mysql_upgrade - 致命错误:升级失败

时间:2014-03-21 16:40:34

标签: mysql

我最近将我的MySQL服务器从5.1升级到5.5并且我正在尝试使用mysql_upgrade升级我的数据库,但我一直收到此错误:

[root@ip-??-???-???-??? ~]# mysql_upgrade -uadmin -p
Enter password:
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
FATAL ERROR: Upgrade failed

我无法理解为什么这不会运行。 MySQL服务器正在运行。

9 个答案:

答案 0 :(得分:18)

我在OS X(通过MacPorts安装)上从MySQL 5.5到5.6也有同样的问题。

似乎mysql_upgrade需要以用户root运行且仅root,并且需要为用户设置密码。具有管理权限的任何其他用户似乎都不起作用。

所以唯一有效的命令似乎是:mysql_upgrade -u root -p

Chris_H at FreeBSD forums的初步解决方案。

答案 1 :(得分:6)

为我工作,但我必须使用它:

mysql_upgrade --port=3306 --user=root --password=PASSWORD

我在

工作
mysql -V
  

mysql Ver 14.14使用readline 6.3分发5.5.35,debian-linux-gnu(x86_64)

答案 2 :(得分:2)

如果您在非标准端口上运行MySQL,请务必包含--port = xxxxxx

我发现跳过可能会导致您收到的错误。

答案 3 :(得分:2)

对于我的情况,我需要明确传递我的套接字文件位置。

mysql_upgrade -S /usr/local/mysql/mysql.sock

答案 4 :(得分:2)

解决了致命错误:

1º - 执行shell命令:service mysqld stop

2º - 然后,将/etc/my.cnf重命名为/etc/my.cnfbkp

3º - 执行shell命令:service mysqld start

4º - 执行shell命令:mysql_upgrade -u root -p YOUR_ROOT_PASSWORD

5º - 将/etc/my.cnfbkp重命名为/etc/my.cnf

6º - 执行shell命令:service mysqld restart

答案 5 :(得分:0)

我在Windows服务器上的安装需要端口和用户/通过规范。

--port=3306 --user=root --password=XXXX

答案 6 :(得分:0)

只需将配置行添加到my.cnf即可 最后添加

[mysqlcheck的] socket = /dbabcstorage/data/mysql5/mysql.sock

您可以在my.cnf的前几行中复制的正确值

答案 7 :(得分:0)

这在CentOS / Plesk服务器上对我有用:

mysql_upgrade -uadmin -p < /etc/psa/.psa.shadow -f

service mysqld restart

http://kb.sp.parallels.com/en/427

答案 8 :(得分:0)

解决!

按照 ADMINISTRATOR 帐户

的步骤操作

1)安装MySQL

2)在位于MySQL路径上的my.ini文件中,设置datadir e basedir

3) 移动所有内容&#34;%MySQL%/ Data&#34;文件夹到上面的datadir

4)运行升级:

mysql_upgrade

5)像这样创建Windows服务:

sc create MySQL binPath=C:/MySQL

删除Windows服务:

sc delete MySQL