赞
踩
场景:
给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'
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。