本文主要是介绍【MySQL】第二篇:MySQL的用户和权限管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、MySQL用户管理
MySQL版本:Ver 8.0.19
1.1、相关命令
命令 | 描述 | 备注 |
---|---|---|
create user wells identified by ‘123456’; | 创建用户名为 wells,密码为 123456 的用户 | |
select host,user,authentication_string,select_priv,insert_priv,drop_priv from mysql.user; | 查看用户权限和相关信息 | |
update user set authentication_string=“12345678” where user=“wells”; | 修改用户密码 | 不同版本的mysql修改用户密码方式不同,需要注意,上面针对的版本是MySQL:Ver 8.0.19 |
update mysql.user set user=‘wells2’ where user=‘wells’; | 修改用户名 | |
drop user wells | 删除用户 |
1.2、示例说明
- host: 表示连接类型
- % 表示所有远程通过 TCP 方式的连接
- IP 地址 如 (192.168.1.2,127.0.0.1) 通过指定 ip 地址进行的 TCP 方式的连接
机器名 - ::1 IPv6 的本地 ip 地址 等同于 IPv4 的 127.0.0.1
- localhost 本地方式通过命令行方式的连接 ,比如 mysql -u xxx -p 123xxx 方式的连接。
- user: 表示用户名,同一用户通过不同方式链接的权限是不一样的。
- password: 密码,所有密码串通过 password(明文字符串) 生成的密文字符串。加密算法为 MYSQLSHA1 ,不可逆 。
- mysql 5.7以后 的密码保存到 authentication_string 字段中不再使用 password 字段。
- select_priv , insert_priv 等,为该用户所拥有的权限
二、MySQL权限管理
2.1、查看权限
show grants; -- 查看当前用户的权限
select * from user ; -- 查看所有用户的权限
2.2、赋予权限
-- grant 权限 1,权限 2,...权限 n on 数据库名称.表名称 to 用户名@用户地址 with grant option
grant select,insert,delete,drop on spring_db.* to 'wells'@'%' with grant option; -- 其中 % 要与user表中的host相同
2.3、收回权限
revoke all privileges on spring_db.* FROM 'wells'@'%'; -- 回收全库全表的权限
revoke select,insert,update,delete on spring_db.* from 'wells'@'%'; -- 收回 mysql 库下的所有表的增删改查权限
这篇关于【MySQL】第二篇:MySQL的用户和权限管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!