mysql忘记root密码,授权访问简单记录

Posted Justtear

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql忘记root密码,授权访问简单记录相关的知识,希望对你有一定的参考价值。

系统:centos7

mysql版本:5.7

 

 

修改 vi /etc/my.cnf

添加

[mysqld]

skip-grant-tables

 

重启mysql

service mysqld restart

 

进入mysql

mysql -uroot

 

进入后修改密码为abc.123

update mysql.user set authentication_string=password(‘abc.123‘) where user=‘root‘;

flush privileges;

 

quit退出后,重启mysql

systemctl restart mysqld

 

测试,使用密码 abc.123

mysq -uroot -p

 

授权其他IP访问,%任何主机,如果是某网段为 192.168%

grant all privileges  on *.* to ‘root‘@‘%‘  identified by ‘abc.123‘ with grant option;

flush privileges;

 

另外:对应之前只限定某个test用户,只能从某个具体IP访问,比如之前已经授权了192.168.1.1访问,现在要授权test,192.168.1.2访问

还是用如下授权就报错

grant all privileges on *.* to ‘test‘@‘192.168.0.14‘;

需要先新增一条记录,再授权就不会报错。

CREATE USER ‘test‘@‘192.168.0.14‘ IDENTIFIED WITH mysql_native_password BY ‘password‘;

grant all privileges on *.* to ‘test‘@‘192.168.0.14‘;

flush privileges;

 

授权部分所有 db*数据库

grant all on db.* to ‘user‘@‘%‘ identified by "abc.123" with grant option;

 

注意:如果密码策略不允许,执行如下(测试环境下使用,生产环境不能这么做)

set global validate_password_policy=LOW; #设置密码强度,默认中,设置为低

set global validate_password_length=6; #密码长度

SHOW VARIABLES LIKE ‘validate_password%‘;#查看

 

回收权限

REVOKE ALL PRIVILEGES ON db.* FROM root;

 

以上是关于mysql忘记root密码,授权访问简单记录的主要内容,如果未能解决你的问题,请参考以下文章

mysql8.0版本忘记root密码

mysql-管理命令创建用户授权修改密码删除用户和授权忘记root密码

mysql 忘记root密码

MySQL忘记root密码的解决办法

Linux忘记roo密码的解决办法

MySQL忘记root密码