MySQL创建用户并设置表权限
1、创建用户
mysql> create user 'cyscc'@'%' identified by 'Cyscc^&*678';
Query OK, 0 rows affected (0.01 sec)
2、MySQL8+修改身份认证
mysql> ALTER USER 'cyscc'@'%' IDENTIFIED WITH mysql_native_password BY 'Cyscc^&*678';
Query OK, 0 rows affected (0.01 sec)
3、设置要显示的库权限
grant all privileges on 数据库名.表名 to ‘cyscc’@’%’;
*.* 表示显示所有数据库-所有表
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> grant all privileges on ry_cloud.* to 'cyscc'@'%';
Query OK, 0 rows affected (0.01 sec)
mysql> grant all privileges on *.* to 'cyscc'@'%' with grant option;
with gran option表示该用户可给其它用户赋予权限,但不可能超过该用户已有的权限
比如a用户有select,insert权限,也可给其它用户赋权,但它不可能给其它用户赋delete权限,除了select,insert以外的都不能
这句话可加可不加,视情况而定。
all privileges 可换成select,update,insert,delete,drop,create等操作 。
如:
mysql> grant select,insert,update,delete on *.* to 'cyscc'@'%';
4、查看用户授权信息
mysql> show grants for 'cyscc'@'%';
5、撤销权限
mysql> revoke all privileges on *.* from 'cyscc'@'%';
用户有什么权限就撤什么权限。
例:撤销cyscc用户显示castic_oa_test表的权限。
mysql> revoke all privileges on castic_oa_test.* from 'cyscc'@'%';
Query OK, 0 rows affected (0.01 sec)
6、删除用户
mysql> drop user 'cyscc'@'%';
7、administrative 权限
1、administrative 级的权限,即 server administration;这类权限包括:
mysql> CREATE USER, PROCESS, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SHOW DATABASES, SHUTDOWN, SUPER
2、 这类权限的授权不是针对某个数据库的,因此须使用on *.* 来进行:
mysql> grant reload on *.* to 'cyscc'@'%';
|