加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL授权用户及密码复原设置

发布时间:2023-08-08 14:29:44 所属栏目:MySql教程 来源:
导读:MySQL密码恢复及设置

1.停止MySQL服务程序。

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

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

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

4.以正常方式重启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 用户名@"客户端地址";
 
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章