您的位置:首页 > 运维架构 > Linux

Centos 下mysql用户丢失,root账号在本地登录

2016-09-07 23:05 597 查看
在本地打开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 | % | [b]****[/b] |

| root | ut12313 | [b]***[/b] |

| root | 127.0.0.1 | [b]****[/b]|

可见没有host是localhost的

update user set host=’localhost’ where user=’root’ and host=’ut12313’;

然后把先前第一部的还原,然后设置密码,或者原密码登陆即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  centos mysql