ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
错误原因1:用户名和密码输入错误
如果确定是这个错误,重新输入下用户名和密码就行了。 如果用户名和密码忘记了,不要慌,参考下面
首先进入到 my.cnf里面添加一个跳过权限验证的命令
vim /etc/my.cnf
添加skip-grant-tables,这样再次登陆就不用输入密码,直接回车就进入数据库了。
添加完后按esc建,然后输入:wq,进行保存退出
修改完配置文件后,注意重启下服务才能生效。
service mysqld restart
然后登陆试试
然后进入到mysql数据库
use mysql; --注意后面分号
show tables;
可以看到有一张user表,这个表里面就存的用户的登陆信息,我们查看一下user表里面都有啥字段
desc user;
然后使用命令直接修改密码就行了,这里我修改root用户密码为123456为例
update user set authentication_string=password('123456') where user='root';
然后退出mysql,重启mysql服务
quit;
service mysqld restart
再次使用用户名和密码登陆即可。
错误原因2:root用户权限不足导致的
这个我参考博客设置的。
根据上一个问题原因设置skip-grant-tables 后,进入数据库使用如下命令即可
grant all privileges on *.* to 'root'@'%' identified by '123456';
root是登陆用户,%代表的是所有ip地址都能访问, 最后就是密码。 grant是同意的意思,privileges是特权的意思,这句话就是授予root用户能在任何ip使用123456密码访问。
本文来自博客园,作者:数据驱动,转载请注明原文链接:https://www.cnblogs.com/shun7man/p/11823120.html