700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > mysql 赋权_《MySQL数据库》MySQL用户赋权

mysql 赋权_《MySQL数据库》MySQL用户赋权

时间:2021-12-03 10:48:34

相关推荐

mysql 赋权_《MySQL数据库》MySQL用户赋权

用户权限管理:

1. 创建用户和设置密码:

create user test@'localhost' IDENTIFIED by 'test';

重点解释一下@'localhost' 在这个语句中的作用(白名单的作用:就是设置哪些网段的人可以才有权限)

test@'10.0.0.%' 分配10.0.0.XXX/24为白名单(24就是255.255.255.0)

test@'%' 分配全部地址为白名单(只要能ping通)

test@'10.0.0.200' 分配唯一地址为白名单

test@'localhost' 分配自己为白名单

test@'db02' 分配主机名为白名单

test@'10.0.0.5%' 分配网段白名单

创建完用户需要执行:FLUSH PRIVILEGES; 作者不执行也可以赋权。

修改密码:alter user test@'10.0.0.%' identified by '456';

2. 删除用户:

drop user test;

3. 授权

grant select, insert, update, delete on work_db.* totest@'%';

4. 查询用户权限:

show privileges;-- 展示mysql权限。

其中Grant option 权限特殊,是给别人授权的权限,语法为原授权语句后加 withGrant option。

show grants for test; -- 查看赋权语句。

select * from mysql.db where user='test' -- 查询赋权的实际情况(数据库级别)

select * from mysql.user where user='test' -- 查询赋权的实际情况(全局 *.*)

select * from mysql.tables_priv where user='test' -- 查询赋权的实际情况(表级别)

select * from mysql.columns_priv where user='test' -- 查询赋权的实际情况(列级别)

5. mysql赋权级别

5.1.全局层级

全局权限适用于一个给定服务器中的所有数据库。这些权限存储在mysql.user表中。GRANT ALL ON *.* to 和REVOKE ALL ON *.* from 只授予和撤销全局权限。

5.2.数据库层级

数据库权限适用于一个给定数据库中的所有目标。这些权限存储在mysql.db和mysql.host表中。GRANT ALL ON db_name.* to 和REVOKE ALL ONdb_name.* from 只授予和撤销数据库权限。

5.3.表层级

表权限适用于一个给定表中的所有列。这些权限存储在mysql.tables_priv表中。GRANT ALL ONdb_name.tbl_name to 和REVOKE ALL ONdb_name.tbl_name from 只授予和撤销表权限。

5.4.列层级

列权限适用于一个给定表中的单一列。这些权限存储在mysql.columns_priv表中。当使用REVOKE时,您必须指定与被授权列相同的列。

5.5.子程序层级

CREATE ROUTINE, ALTER ROUTINE, EXECUTE和GRANT权限适用于已存储的子程序。这些权限可以被授予为全局层级和数据库层级。而且,除了CREATE ROUTINE外,这些权限可以被授予为子程序层级,并存储在mysql.procs_priv表中。

5. 回收权限:

上述案例的回收权限语句: revokeselect, insert, update, delete on work_db.* from test@'%'; 关键字:revoke , from。

其他:

6. mysql.db 表字段说明:

参考:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。