在网上我看到了很多关于修改密码的信息,大致情况如下:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
Query OK, 1 row affected (0.00 sec) //提示,说明修改成功
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
仍然提示:
Access denied for user 'root'@'localhost' (using password: YES) :表示生成了root的临时密码。
表示不需要输入密码。
难道是我修改密码没成功吗?
后来我用nacivat 远程连接数据库,发现提示:
Access denied for user 'root'@'localhost' (using password:NO) :表示需要输入密码。
然后我输入上面自己修改的密码后,连接测试,成功了,也远程登录上了,那为什么在本地用mysql -uroot -p连接失败呢?
这个我就不太清楚了。还是希望其他大神能够解决吧。
我也试过下面这个文章的方法,
http://www.linuxidc.com/Linux/2014-01/95509.htm