在本地打开mysql -u root -p
无论输入什么密码都错误,又改了密码结果还是不行
后来搜了百度都没有什么好的解决方法。
发现mysql库中的user表缺少一个root指向host
怎么确定你也是这个问题呢?这样做:
vim /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
保存并且退出vi。mysql
进入mysql命令
use mysql;
select user,host,password from user where user=’root’;
| root | % | **** |
| root | ut12313 | *** |
| root | 127.0.0.1 | ****|
可见没有host是localhost的
update user set host=’localhost’ where user=’root’ and host=’ut12313’;
然后把先前第一部的还原,然后设置密码,或者原密码登陆即可。