我正在使用 CentOS 5.5、mysql 5.1、php 5.3、phpmyadmin 3.4.5,我已经使用以下命令设置了 mysql 密码
>mysql update mysql.user Password="mypassword" where User="root"
在 phpmyadmin/libraries/config.default.php 中
做:
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'mypassword';
注:2个password
相同。
service mysqld restart
service httpd restart
一切正常。然后在 phpmyadmin 登录面板中,我输入;
username: root
password: mypassword
输入,它总是刷新登录面板,从不登录数据库页面。没有错误提示。
哪里有问题?
答案1
问题在于,您将纯文本密码输入到了应该保存加密密码的字段中!
从 MySQL 命令行尝试以下命令:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
如果您远程访问,请不要忘记:
SET PASSWORD FOR 'root'@'%' = PASSWORD('newpass');
其次是:
FLUSH PRIVILEGES;
这将插入加密的密码以便可以读取,然后清除权限缓存以便再次读取。