登录mysql报错
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
1、登录安装数据库的机器
输入vi /etc/my.cnf,在该配置文件增加一行 skip-grant-tables,随便什么密码都能登陆
2、重启数据库
service mysqld restart
3、连接数据库
mysql -u root -p随便输入个密码
4、进入数据库mysql
use mysql
5、先查看密码是否过期(user表用于放用户信息)
#password_lifetime=0表示永久有效,password_expired='N'密码未过期
select password_expired,password_last_changed,password_lifetime,authentication_string from user u where u.user='root';
6、修改root的密码、有效时间和是否过期,并提交
update user set authentication_string =password('kang') ,password_lifetime=0,password_expired='N' where user='root';
flush privileges;
7、再查看(密码已改),再输入exit退出
select password_expired,password_last_changed,password_lifetime,authentication_string from user u where u.user='root';
8、 输入vi /etc/my.cnf,在该配置文件删掉 skip-grant-tables,使需要正确密码才能登陆
9、重启数据库
service mysqld restart
此时又出现个问题,只有本地才能访问,其他地方访问还是报错
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
这时候就需要设置其他机器也能访问
1、查看root哪些能访问
2、更新其他机器也能访问root, %表示都能访问,localhost表示只有本机能访问
update user set host='%' where user='root';
--欢迎大家访问我的 个人博客(www.sunkang.com)