MySQL之grant设置权限命令格式大全

[mysql] 2024-04-26 圈点852

摘要:MySQL之grant设置权限命令格式大全

MySQL之grant设置权限命令格式大全


1,对库表进行增删改查权限设置:

格式命令:

grant 权限名 on dbname.* to username@xx


示例:

grant select on testdb.* to common_user@’%’

grant insert on testdb.* to common_user@’%’

grant update on testdb.* to common_user@’%’

grant delete on testdb.* to common_user@’%’

grant select, insert, update, delete on testdb.* to common_user@’%’



二、对创建表、修改表,删除表的权限设置。

格式命令:

grant 权限名 on dbname.* to username@xx


示例:

grant create on testdb.* to developer@’192.168.0.%’;

grant alter on testdb.* to developer@’192.168.0.%’;

grant drop on testdb.* to developer@’192.168.0.%’;



三、对数据库的索引键、视图、存储过程、函数等权限的设置。

grant 操作 MySQL 外键权限。

grant references on testdb.* to developer@’192.168.0.%’;


grant 操作 MySQL 临时表权限。

grant create temporary tables on testdb.* to developer@’192.168.0.%’;

g

rant 操作 MySQL 索引权限。

grant index on testdb.* to developer@’192.168.0.%’;


grant 操作 MySQL 视图、查看视图源代码 权限。

grant create view on testdb.* to developer@’192.168.0.%’;

grant show view on testdb.* to developer@’192.168.0.%’;


grant 操作 MySQL 存储过程、函数 权限。

grant create routine on testdb.* to developer@’192.168.0.%’; — now, can show procedure status

grant alter routine on testdb.* to developer@’192.168.0.%’; — now, you can drop a procedure

grant execute on testdb.* to developer@’192.168.0.%’;


四、对某个数据库 或者所有数据库的管理权限。

grant all privileges on testdb to username@’localhost’

grant all on *.* to username@’localhost’



五、权限层次深度设置。

1. grant 作用在整个 MySQL 服务器上:

grant select on *.* to username@localhost;

grant all on *.* to username@localhost;


2. grant 作用在单个数据库上:

grant select on testdb.* to username@localhost;


3. grant 作用在单个数据表上:

grant select, insert, update, delete on testdb.orders to username@localhost;


4. grant 作用在表中的列上:

grant select(id, se, rank) on testdb.apache_log to username@localhost;


5. grant 作用在存储过程、函数上:

grant execute on procedure testdb.pr_add to ‘username’@’localhost’

grant execute on function testdb.fn_add to ‘username’@’localhost’


六、查看 权限

显示当前用户权限:

show grants;

显示某个用户权限:

show grants for username@localhost;


七、撤销已经赋予给某用户权限的权限。

revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:

grant all on *.* to username@localhost;

revoke all on *.* from username@localhost;


八、MySQL grant、revoke 用户权限注意事项

1. grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。

2. 如果想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 “grant option“

grant select on testdb.* to username@localhost with grant option;


mysql  grant  revoke  

感谢反馈,已提交成功,审核后即会显示