本文介绍 MySQL 实例的账号类型和账号权限说明。
MySQL 实例支持两种数据库账号:高权限账号和普通账号,账号创建后,账号类型无法切换。
| 账号类型 | 说明 |
|---|---|
高权限账号 |
|
普通账号 |
|
说明
在控制台中,仅支持创建一个高权限账号。通过 create user 语句,可创建和高权限账号权限一致的普通账号,从而管理其他普通账号。
| 账号类型 | 授权类型 | 权限 |
|---|---|---|
| 高权限账号 | 所有权限 | ALTER、ALTER ROUTINE、CREATE、CREATE ROUTINE、CREATE TEMPORARY TABLES、CREATE USER、CREATE VIEW、DELETE、DROP、EVENT、EXECUTE、GRANT、INDEX、INSERT、LOCK TABLES、PROCESS、REFERENCES、RELOAD、REPLICATION CLIENT、REPLICATION SLAVE、SELECT、SHOW DATABASES、SHOW VIEW、TRIGGER、UPDATE |
| 普通账号 | 读写 | ALTER、ALTER ROUTINE、CREATE、CREATE ROUTINE、CREATE TEMPORARY TABLES、CREATE VIEW、DELETE、DROP、EVENT、EXECUTE、INDEX、INSERT、LOCK TABLES、REFERENCES、SELECT、SHOW VIEW、TRIGGER、UPDATE |
| 只读 | LOCK TABLES、SELECT、SHOW VIEW | |
| 仅 DDL | ALTER、ALTER ROUTINE、CREATE、CREATE ROUTINE、CREATE TEMPORARY TABLES、CREATE VIEW、DROP、INDEX、LOCK TABLES、SHOW VIEW | |
| 仅 DML | CREATE TEMPORARY TABLES、DELETE、EVENT、EXECUTE、INSERT、LOCK TABLES、SELECT、SHOW VIEW、TRIGGER、UPDATE |
说明
在部分老版本的实例中,账号权限和上表所述会有不一致。如遇此种情况,请提交工单联系技术支持升级实例。
| 权限 | 说明 |
|---|---|
| ALTER | 允许修改数据库中表的结构,包括更改字段、添加或删除字段,以及增删索引等操作。 |
| ALTER ROUTINE | 允许更改存储过程和函数等例程的定义。 |
| CREATE | 允许创建新的数据库、表、视图、存储过程、函数等对象。 |
| CREATE ROUTINE | 允许创建存储过程和函数等例程对象。 |
| CREATE TEMPORARY TABLES | 允许创建临时表。 |
| CREATE USER | 允许创建新用户并为其分配权限。 |
| CREATE VIEW | 允许创建视图对象。 |
| DELETE | 允许从指定表中删除数据。 |
| DROP | 允许删除数据库、表、视图、存储过程、函数等对象。 |
| EVENT | 允许创建、修改和删除事件。 |
| EXECUTE | 允许执行已存在的存储过程和函数等对象。 |
| GRANT | 允许用户将访问权限分配给其他用户。 |
| INDEX | 允许创建和删除索引。 |
| INSERT | 允许向表中插入新数据。 |
| LOCK TABLES | 允许锁定指定数据表以进行读写操作。 |
| PROCESS | 允许查看当前所有正在执行的线程和进程的信息。 |
| REFERENCES | 允许在当前数据库中创建或删除外键约束。 |
| RELOAD | 允许重新加载系统配置文件,重启或关闭数据库等操作。 |
| REPLICATION CLIENT | 允许查看和管理复制进程的状态和参数。 |
| REPLICATION SLAVE | 允许从主服务器复制数据。 |
| SELECT | 允许从指定表中查询数据。 |
| SHOW DATABASES | 允许显示当前数据库服务器中的所有数据库。 |
| SHOW VIEW | 允许显示视图的定义。 |
| TRIGGER | 允许创建和管理触发器。 |
| UPDATE | 允许更新指定表中的数据。 |