centos7下mysql5.7修改密码和外部能访问的步骤、讲解和所遇到的那些坑(最全)

登录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

centos7下mysql5.7修改密码和外部能访问的步骤、讲解和所遇到的那些坑(最全)_第1张图片

 

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';

centos7下mysql5.7修改密码和外部能访问的步骤、讲解和所遇到的那些坑(最全)_第2张图片

6、修改root的密码、有效时间和是否过期,并提交

update user set authentication_string =password('kang') ,password_lifetime=0,password_expired='N' where user='root';

flush privileges;

centos7下mysql5.7修改密码和外部能访问的步骤、讲解和所遇到的那些坑(最全)_第3张图片

7、再查看(密码已改),再输入exit退出

select password_expired,password_last_changed,password_lifetime,authentication_string from user u where u.user='root';

centos7下mysql5.7修改密码和外部能访问的步骤、讲解和所遇到的那些坑(最全)_第4张图片

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哪些能访问

centos7下mysql5.7修改密码和外部能访问的步骤、讲解和所遇到的那些坑(最全)_第5张图片

2、更新其他机器也能访问root, %表示都能访问,localhost表示只有本机能访问

update user set host='%' where user='root';

centos7下mysql5.7修改密码和外部能访问的步骤、讲解和所遇到的那些坑(最全)_第6张图片

 

--欢迎大家访问我的 个人博客(www.sunkang.com)

你可能感兴趣的:(centos7下mysql5.7修改密码和外部能访问的步骤、讲解和所遇到的那些坑(最全))