mysql恢复授权表登录_MySQL授权用户及密码恢复设置

MySQL密码恢复及设置

1.停止MySQL服务程序。

2.跳过授权表启动MySQL服务程序

skip-grant-tables(添加在配置文件)

3.重设root密码(更新user表记录)

4.以正常方式重启MySQL服务程序

例:

1.恢复数据库管理员密码(操作系统管理员有权限修改)

#systemctl stop mysqld

#vim /etc/my.cnf

[mysqld]

...

skip-grant-tables

...

#systemctl start mysqld

#mysql

mysql> update mysql.user set authentication_string=password("新密码") where user="root" and host="localhost";

mysql> flush privileges; (更新)

mysql> quit;

例:

2.恢复数据库管理员密码(操作系统管理员有权限修改)

#find / -name "validate_password.so" (查看模块)

#vim /etc/my.cnf

[myslqd]

...

plugin-load=validate_password.so #加载模块

validate_password=FORCE_PLUS_PERMANENT #永久启用模块

validate_password_policy=0 #只验证密码长度

validate_password_length=6 #指定密码长度

..

#systemctl restart mysqld

例:

3.修改数据库管理员本机登录密码(操作系统管理员有权限修改)

#mysqladmin -hlocalhost -uroot -p password "新密码"

Enter password: #输入旧密码

创建授权

MySQL授权库和表信息

授权库mysql,主要的几个表:

1.user表,存储授权用户的防护权限。

2.db表,存储授权用户对数据库的访问权限。

3.tables_priv表,存储授权用户对表的访问权限。

4.columns_priv表,存储授权用户对字段的访问权限。

GRANT 配置授权

格式:GRANT 权限列表... ON 库名.表名 TO 用户名@'客户端地址' IDENTIFIED BY '密码' WITH GRANT OPTION;

-[WITH GRANT OPTION]被授权用户是否有授权权限(可选项)

注意事项:

1.当库名.表名为“.”时,匹配所有库所有表。

2.授权设置存放在mysql库的user表。

授权列表:

all 所有权限

usage 没有权限

selec 查看权限

update 修改权限

delect 删除权限

insert 写入权限

drop 删除权限

...

库名.表名:

库名.* //库下的所有表

*.* //所有库下的所有表

客户端地址:

% //匹配所有主机

192.168.1.% //匹配指定的一个网段

192.168.1.1 //匹配指定IP地址的单个主机

%.baidu.com //匹配一个DNS区域

www.baidu.com //匹配指定域名的单个主机

例:

1.新建用户mydba,对所有库、表有完全权限,允许从任何地方访问,密码设置为'123456',允许用户为其他用户授权。

mysql>grant all on *.* to mydba@'%' identified by '123456' with grant option;

例:

2.授权dachui用户,允许从本机访问,允许对userdb库的任何表有查询、更新、插入、删除权限,密码为‘123456’。

mysql>grant select,insert,update,delect on userdb.* to dachui@'localhost' identified by '123456';

授权用户修改自己的密码:SET PASSWORD=PASSWORD('新密码');

管理员可重设其他用户的密码:SET PASSWORD FOR 用户名@'客户端地址'=PASSWORD('新密码');

撤销用户授权

格式:REVOKE 权限列表 ON 库名.表名 FROM 用户名@'客户端地址';

例:

mysql>revoke insert,select on userdb.* from dachui@'localhost';

mysql>show grants for dachui@'localhost'\G;

删除授权用户: drop mysql.user 用户名@"客户端地址";

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值