MySQL权限级别
查看所有用户
mysql> select user,host from mysql.user; +------------------+-----------+ | user | host | +------------------+-----------+ | mysql.infoschema | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +------------------+-----------+ 4 rows in set (0.01 sec)
查看mysql实例默认root用户权限
ysql> show grants for root@‘localhost‘\G
*************************** 1. row *************************** Grants for root@localhost: GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `root`@`localhost` WITH GRANT OPTION *************************** 2. row *************************** Grants for root@localhost: GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,GROUP_REPLICATION_ADMIN,INNODB_REDO_LOG_ARCHIVE,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_USER_ID,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,XA_RECOVER_ADMIN ON *.* TO `root`@`localhost` WITH GRANT OPTION *************************** 3. row *************************** Grants for root@localhost: GRANT PROXY ON ‘‘@‘‘ TO ‘root‘@‘localhost‘ WITH GRANT OPTION
创建用户并查看权限
mysql> create user yang@‘localhost‘ identified by ‘mysql‘; Query OK, 0 rows affected (0.02 sec)
mysql> show grants for ‘yang‘@localhost ; +------------------------------------------+ | Grants for yang@localhost | +------------------------------------------+ | GRANT USAGE ON *.* TO `yang`@`localhost` | +------------------------------------------+ 1 row in set (0.00 sec)
授权用户所有权限(全局权限)
mysql> grant all privileges on *.* to yang@localhost; Query OK, 0 rows affected (0.00 sec) mysql> show grants for yang@localhost; +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Grants for yang@localhost | +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `yang`@`localhost` | | GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,GROUP_REPLICATION_ADMIN,INNODB_REDO_LOG_ARCHIVE,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_USER_ID,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,XA_RECOVER_ADMIN ON *.* TO `yang`@`localhost` | +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 sec)
回收权限
mysql> revoke all privileges on *.* from ‘yang‘@‘localhost‘; Query OK, 0 rows affected (0.00 sec)
mysql> show grants for yang@localhost;
+------------------------------------------+
| Grants for yang@localhost |
+------------------------------------------+
| GRANT USAGE ON *.* TO `yang`@`localhost` |
+------------------------------------------+
1 row in set (0.00 sec)
只授予select权限
mysql> show grants for yang@localhost; +------------------------------------------+ | Grants for yang@localhost | +------------------------------------------+ | GRANT USAGE ON *.* TO `yang`@`localhost` | +------------------------------------------+ 1 row in set (0.00 sec) mysql> grant select on *.* to yang@localhost; Query OK, 0 rows affected (0.01 sec) mysql> show grants for yang@localhost; +-------------------------------------------+ | Grants for yang@localhost | +-------------------------------------------+ | GRANT SELECT ON *.* TO `yang`@`localhost` | +-------------------------------------------+ 1 row in set (0.00 sec)
只给yang用户授予查询test库下students表中id字段
mysql> grant select(id) on test.students to yang@localhost;
授予yang用户 查询,更改,删除,插入权限,在test库下所有表
mysql> grant select,update,delete,insert on test.* to yang@localhost;
Mysql权限详解
系统表权限
原文:https://www.cnblogs.com/sky00747/p/11519870.html