对此有点困惑。
即将将MySQL从5.5升级到5.6
警告说许多数据库都使用旧密码。
以下用户使用4.1之前的MySQL密码:
我们建议您将所有帐户更新为更长的MySQL 执行此升级之前的密码哈希。没有这样做 可能会破坏使用的帐户或应用程序的数据库访问权限 4.1之前的MySQL密码。
我不能100%确定我需要做什么。
许多帐户甚至都不是数据库。
我曾试图进行谷歌搜索,但没有找到任何帮助。
cPanel上有一个选项可以使用4.1之前的密码,但是没有启用,所以不知道为什么现在应该标记,正如我所料,如果我使用的是旧密码(无论它们是什么)。无论如何,这个选项都会消失5.6。
任何人都可以提供协助或指导。
感谢。
答案 0 :(得分:1)
在您的数据库上执行以下语句 -
SELECT USER,PASSWORD FROM mysql.user LIMIT 1;
如果您的密码长度小于41,假设大约16,则表示您使用的是旧密码格式,并且需要将其更改为长度为41且更安全的新格式。
您可以通过以下命令更改密码格式 -
set password for 'user'@'ip' = password ('new password');
注意:在此之前,您需要保留权限表备份。如果配置文件已打开,还需要在配置文件中注释old_password选项。
答案 1 :(得分:0)
For Windows, do this:
shell> mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'::1' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'%' = PASSWORD('newpwd');
The last statement is unnecessary if the mysql.user table has no root account with a host value of %.
For Unix, do this:
shell> mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'::1' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd');
You can also use a single statement that assigns a password to all root accounts by using UPDATE to modify the mysql.user table directly. This method works on any platform:
shell> mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')
-> WHERE User = 'root';
mysql> FLUSH PRIVILEGES;
参考此链接: -
http://dev.mysql.com/doc/refman/5.6/en/default-privileges.html