sql,GRANT EXECUTE ON 数据库名.* TO '用户名'@'主机名';,
“MySQL数据库授予权限_授予执行权限
在MySQL数据库管理中,合理地分配用户权限是确保数据安全和系统稳定运行的重要措施,本文将详细介绍如何为用户授予不同的权限,包括基础授权、存储过程和函数的授权以及刷新权限等操作。
创建用户
创建一个新用户,创建一个用户名为username
,密码为ABcd_147
的用户:
CREATE USER 'username'@'%' IDENTIFIED BY 'ABcd_147';
基础授权
基础授权包括对特定数据库和表的增删改查权限,以及对所有数据库的全局权限,以下是几种常见的基础授权方式:
1、指定数据库和表并赋予增删改查权限:
“`sql
GRANT SELECT, UPDATE, INSERT, DELETE ON testown.test1 TO ‘username’@’%’;
GRANT SELECT, UPDATE, INSERT, DELETE ON testown.test2 TO ‘username’@’%’;
GRANT SELECT, UPDATE, INSERT, DELETE ON testown.test3 TO ‘username’@’%’;
“`
2、指定数据库并赋予增删改查权限:
“`sql
GRANT SELECT, UPDATE, INSERT, DELETE ON testown.* TO ‘username’@’%’;
“`
3、赋予所有权限:
“`sql
GRANT ALL PRIVILEGES ON *.* TO ‘username’@’%’;
“`
存储过程和函数授权
对于存储过程和函数,可以授予创建、修改或删除以及执行权限:
1、创建和修改存储过程和函数:
“`sql
GRANT CREATE ROUTINE, ALTER ROUTINE ON testown.* TO ‘username’@’%’;
“`
2、执行存储过程和函数:
“`sql
GRANT EXECUTE ON testown.* TO ‘username’@’%’;
“`
需要注意的是,如果存储过程和函数是由root
用户创建的,普通用户可能无法查看和调用这些对象,此时应考虑使用DEFINER
属性来指定谁有权限执行这些对象。
刷新权限
在完成授权操作后,需要刷新权限以使更改生效:
FLUSH PRIVILEGES;
登录目标用户测试
可以通过登录目标用户来测试权限是否生效:
mysql u username p
其他操作
1、删除权限:
“`sql
REVOKE SELECT, UPDATE, INSERT, DELETE ON zkry_xz_mszj.* FROM ‘username’@’%’;
“`
2、删除用户:
“`sql
DROP USER ‘username’;
“`
3、查询用户权限:
“`sql
SHOW GRANTS FOR ‘username’@’%’;
“`
FAQs
1、如何查看当前用户的权限?
你可以使用以下命令查看当前用户的权限:
“`sql
SHOW GRANTS FOR CURRENT_USER;
“`
2、如何在MySQL中撤销用户权限?
你可以使用REVOKE
语句来撤销用户权限,撤销username
用户在zkry_xz_mszj
数据库上的所有权限:
“`sql
REVOKE ALL PRIVILEGES ON zkry_xz_mszj.* FROM ‘username’@’%’;
“`
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1109112.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复