首先查看mysql中所有的用户

SELECT user,host FROM mysql.user;

查看指定用户的权限情况

SELECT * FROM mysql.user WHERE user='root';

创建一个用户

CREATE USER 'readonly'@'%' IDENTIFIED BY '123456';

给用户赋予只读权限

GRANT SELECT ON *.* TO 'readonly'@'%';

刷新权限

flush privileges;

参考

mysql> grant all privileges on *.* to 'readonly'@'%' identified by '123456' with grant option;

all privileges:表示将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等。

on:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写 “*” 表示所有数据库,所有表。如果我要指定将权限应用到test库的user表中,可以这么写:test.user

to:将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制,在任何主机都可以登录。比如:”readonly”@”192.168.0.%”,表示yangxin这个用户只能在192.168.0IP段登录

identified by:指定用户的登录密码