# mysql

mysql权限说明

关于mysql的权限简单的理解就是mysql允许你做你权利以内的事情,不可以越界。比如只允许你执行select操作,那么你就不能执行update操作。只允许你从某台机器上连接mysql,那么你就不能从除那台机器以外的其他机器连接mysql。

那么Mysql的权限是如何实现的呢?这就要说到mysql的两阶段验证,下面详细介绍:
第一阶段:服务器首先会检查你是否允许连接。因为创建用户的时候会加上主机限制,可以限制成本地、某个IP、某个IP段、以及任何地方等,只允许你从配置的指定地方登陆。
第二阶段:如果你能连接,Mysql会检查你发出的每个请求,看你是否有足够的权限实施它。比如你要更新某个表、或者查询某个表,Mysql会查看你对哪个表或者某个列是否有权限。再比如,你要运行某个存储过程,Mysql会检查你对存储过程是否有执行权限等。

mysql主从配置

本教程配置是mysql5.7 不同的版本配置方式有差异,仅供参考

Master的配置

修改配置

修改/etc/mysql/mysql.conf.d/mysqld.cnf(配置文件具体位置根据)

1
2
3
4
5
6
7
[mysqld]
log-bin=mysql-bin
server-id=2
binlog-ignore-db=information_schema
binlog-ignore-db=cluster
binlog-ignore-db=mysql
binlog-do-db=test

这里的server-id用于标识唯一的数据库,在从库必须设置为不同的值。

binlog-ignore-db:表示同步的时候忽略的数据库

binlog-do-db:指定需要同步的数据库

配置完成后重启mysql服务