高级DBA教你Mysql数据库指定某数据库或某表赋予增删改查操作权限各类划分权限的方法总结实战
在MySQL数据库中,你可以使用GRANT
语句来指定数据库或表的增删改查操作权限。以下是各种权限的分类和相应的示例代码:
- 数据库权限:
-- 授权用户user_name对数据库db_name的所有权限
GRANT ALL PRIVILEGES ON db_name.* TO 'user_name'@'host';
-- 授权用户user_name对数据库db_name的SELECT, INSERT, UPDATE权限
GRANT SELECT, INSERT, UPDATE ON db_name.* TO 'user_name'@'host';
- 表权限:
-- 授权用户user_name对数据库db_name中表table_name的所有权限
GRANT ALL PRIVILEGES ON db_name.table_name TO 'user_name'@'host';
-- 授权用户user_name对数据库db_name中表table_name的SELECT, INSERT权限
GRANT SELECT, INSERT ON db_name.table_name TO 'user_name'@'host';
- 列权限:
-- 授权用户user_name对数据库db_name中表table_name的column_name列的所有权限
GRANT ALL PRIVILEGES ON db_name.table_name(column_name) TO 'user_name'@'host';
-- 授权用户user_name对数据库db_name中表table_name的column_name列的SELECT权限
GRANT SELECT(column_name) ON db_name.table_name TO 'user_name'@'host';
其中,user_name
是你要授权的用户名,host
是用户连接的主机,可以是具体的IP或者%
代表任何主机。db_name
是数据库名,table_name
是表名,column_name
是列名。
注意:执行这些操作之前,你需要有足够的权限来授予其他用户权限,并且执行这些操作之后,记得执行FLUSH PRIVILEGES;
来使权限更改立即生效。
评论已关闭