一、环境:
CentOS 7
Mysql 5.7
二、背景
搭建MariaDB主从,主服务器给读写权限,从服务器只给查询权限
三、正文
1、使用 root 管理员登陆 MariaDB
mysql -uroot -p123456;
2、创建新用户
CREATE USER 'user1'@'%' IDENTIFIED BY '07fa533360d9';
%
所有情况都能访问localhost
本机才能访问111.222.33.44
指定 ip 才能访问
注:修改密码
update mysql.user set authentication_string=password('新密码') where user='root';
这个时候访问,是除了默认生成的两个数据库,看不到任何其它的数据库:
3、给该用户添加权限
#全部权限
grant all privileges on 想授权的数据库.* to 'user1'@'%';
#指定权限
grant SELECT,UPDATE on 想授权的数据库.* to 'user1'@'%';
all
可以替换为 select
,delete
,update
,create
,drop
这个时候访问,比刚才看到的数据库多出了一个刚刚添加的。
4、删除用户
Delete FROM mysql.user Where User='user1';
四、刷新权限
flush privileges;
在操作 mysql 库做用户的增删修改的时候,操作完毕的时候最好使用 flush privilege 命令刷新一下权限。否则可能会修改不生效。