网上一大堆的修改mysql密码的文章,试了半天都不能改,最后终于找了一个可以的方法。
错误提示
#1130 - Host 'localhost' is not allowed to connect to this MySQL server
由于我使用的phpmyadmin直接修改mysql数据库下的user表中的root密码,导致不能登录数据库,出现上述错误。
在表里面存储的密码都是md5加密的 如果直接把密码写进去 那密码肯定不是要修改的密码。
发生上面的情况可以使用无密码登录mysql重新修改密码。
具体步骤如下:
1.关闭正在运行的MySQL。
2.打开DOS窗口,转到mysql\bin目录。
3.输入mysqld -nt --skip-grant-tables回车。如果没有出现提示信息,那就对了。
4.再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录(cd)。
5.输入mysql回车,如果成功,将出现MySQL提示符 >
6. 连接权限数据库>use mysql; (>是本来就有的提示符,别忘了最后的分号)
6.改密码:> update user set password=password("123") where user="123";
7.刷新权限(必须的步骤)>flush privileges;
8.退出 > \q
9.注销系统,再进入,开MySQL,使用用户名123和刚才设置的新密码123登陆。
添加root远程登录权限
对于需要远程登录的用户执行如下命令:
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "yourpasswd";
mysql> flush privileges;