MySQL等主流数据库的最高权限一般是root用户. 有时我们需要提供数据库的账号和密码以使用某些服务. 但实际上每个服务只会使用1个左右的数据库. 直接将root账号和密码随意分配是一件很危险的事情. 所以我们需要单独的创建用户, 并授权需要的数据库给它.
创建用户harrison, 并指定IP为192.118.1.1; 设置密码为123
CREATE USER 'harrison' @'192.118.1.1' IDENTIFIED BY '123';
创建用户harrison, 任意IP即可登录; 设置密码为123
CREATE USER 'harrison' @'%' IDENTIFIED BY '123';
删除用户名为harrison, 且IP为192.118.1.1的用户
DROP USER 'harrison' @'192.118.1.1';
修改用户名为harrison, 不限制登录IP的用户 -> 用户名harry, 限制登录IP为192.168.1.1
RENAME USER 'harrison' @'%' TO 'harry' @'192.168.1.1';
修改用户名为harrison, 不限制登录IP的用户的密码为456
SET PASSWORD FOR 'harrison' @'%' = PASSWORD ( '456' );
查看用户harrison拥有的权限:
SHOW GRANTS FOR 'harrison' @'%';
为harrison提供db1数据库的table1表SELECT(查询)、INSERT(新增)、UPDATE(修改)权限
GRANT
SELECT,
INSERT,
UPDATE ON db1.table1 TO "harrison" @'%';
为harrison提供db1数据库的全部增删改查权限
GRANT ALL PRIVILEGES ON db1.* TO "harrison" @'%';
撤回harrison对db1数据库的table1表的全部权限
REVOKE ALL ON db1.table1
FROM
'harrison' @"%";
撤回harrison对db1数据库的全部权限
REVOKE ALL ON db1.*
FROM
'harrison' @"%";
若你对本篇文章有任何问题, 欢迎在下方评论区讨论, 或加入阿航的技术小站交流群
欢迎访问阿航的技术小站官网, 获取更多技术干货!