MySQL创建用户并设置权限

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'@'%';

你可能感兴趣的:(Linux,MySQL,mysql,数据库)