前段时间配合同事工作,需要给他在数据库中创建新的所需要的数据表,以及对其他表能具有查询权限。所以将操作记录下来。
1、使用root账号进入mysql
->mysql -uroot -pyourpassword
2、进入mysql表,创建账号
->use mysql;
->CREATE USER 'user'@'%' IDENTIFIED BY 'password';
“user”:创建的mysql账号
“%”:指定用户可以在任何网络下登陆,%指所有网络,localhost/127.0.0.1代表本地,也可指定ip地址,详细不在本文中介绍,可自行了解。
“password”:可自定义登陆密码
3、给账号分配权限
->grant all privileges on db.table1 to 'user'@'%';
->grant select,update on db.table2 to 'user'@'%';
上面两条命令,将db数据库下的table1所有权限分配给user用户,下面一条代表将db数据库下table2的查询、修改权限分配给user用户。
4、刷新账号权限
->flush privileges;
接下来也是最重要的一个步骤,刷新用户权限。刷新之后,便可以登陆账号查看权限啦。
5、用户权限查看
show grants for 'user'@'%';
+------------------------------------------------------------------------------------------------------+
| Grants for user@% |
+------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'user'@'%' IDENTIFIED BY PASSWORD '*4F0EC3BA1B7C95CAE9FFE844ADA047FE37BB6E13' |
| GRANT ALL PRIVILEGES ON `db`.* TO 'user'@'%' |
+------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
6、回收权限
->revoke select,create,delete,grant option on db.table1 from 'user'@'%';
->revoke all privileges on db.table2 from 'user'@'%';