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 用户名 @"客户端地址";
来源: http://www.bubuko.com/infodetail-2486414.html