自学内容网 自学内容网

MySQL 新增用户及权限分配

场景:

给MySQL新增一个用户,并且该用户登陆后只能查看和操作有权限的数据库

1、创建用户user_luka, 密码pw123456,%表示所有主机,或者用户连接 MySQL 时所用主机IP,如果在创建的过程中,只给出了用户名,而没指定主机名,那么主机名默认为“%”,表示对所有主机开放权限。

CREATE USER 'user_luka'@'%' IDENTIFIED BY 'pw123456';

2、分配给user_luka,数据库database_test所有权限

GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, TRIGGER, CREATE VIEW, SHOW VIEW, EXECUTE, ALTER ROUTINE, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, EVENT ON `database_test`.* TO 'user_luka'@'%';

 此外

#分配所有数据库,这些权限存储在mysql.user表中。
GRANT ALL ON *.* TO 'user_luka'@'%';  

#分配数据库下对应表的权限,这些权限存储在mysql.tables_priv表中。
GRANT ALL ON database_test.mytable TO 'user_luka'@'%'; 

#分配数据库表下对应的列权限,这些权限存储在mysql.columns_priv表中。col1, col2,  col3表示mytable表中的列名
GRANT ALL (col1, col2, col3)  ON database_test.mytable TO 'user_luka'@'%'; 

3、刷新

FLUSH PRIVILEGES;

 4、查看当前用户及权限

SELECT user,host FROM mysql.user;

 5、 撤销用户权限

REVOKE ALL PRIVILEGES ON `database_test`.* FROM 'user_luka'@'%';

 6、删除用户

drop user 'user_luka'

原文地址:https://blog.csdn.net/weixin_44586883/article/details/136474438

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!