企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 权限表 MySQL服务器通过权限表来控制用户对数据库的访问,权限表存放在MySQL数据库中,由MySQL_install_db脚本初始化.存储账号权限信息表有user,db,host,tables_priv,columns_priv和procs_priv. ### user表 user表是MySQL表中最重要的一个权限表,记录允许连接到服务器的账号信息,里面的权限是全局级的. ### tables_priv表columns_priv表 tables_priv表用来对表设置操作权限,columns_priv表用来对表的某一列设置权限 ### procs_priv表 procs_priv表可以对存储过程和存储函数设置操作权限. ## 授权 ### 权限层级 |权限|授权范围|权限代码| |-|-|-| |全局权限|所有数据库|grant all on \*.\* | |数据库层级|指定数据库|grant all on 数据库| |表层级|指定表|grant all on数据库.数据表| |列层级|指定表中的列|| |子程序层级|已存储的子程序|| ### 子程序授权 ```sql grant 权限类型 [(作用在那些列)] [,权限类型[(作用在那些列)]]... on [table|function|procedure] 授权列所在的表,表2... to 用户名@主机名 [identified by [password] 新密码] [,用户名@主机名 [identified by [password] 新密码]]... [with grant option] ``` with关键字可以跟一个或多个值 |值|说明| |-|-| |grant option|被授权的用户可以将这些权限赋予别的用户| |max_queries_per_hour count|设置每个小时可以执行count次查询| |max_updates_per_hour count|设置每个小时可以执行count次更新| |max_connections_per_hour count|设置每个小时可以建立count个链接| |max_user_connections count|设置单个用户可以同时建立count个链接| ## 回收权限 ### 回收用户所有权限 ```sql revoke all privileges, grant option from 用户名@主机名 [,用户名@主机名]; ``` ### 回收用户指定权限 ```sql revoke 权限类型 [(列)] [,权限类型 [(列)]] ... on 表,表2... from 用户名@主机名 [,用户名@主机名]...; ``` ## 查看权限 ```sql show grants for 用户名@主机名; ```