从零开始搭建MySQL MMM架构

2019-01-05 09:55:46王旭

 注意:

1)server-id在每台服务器上的值都是不一样,在这里依次为1、2、3、4。
2)因为在这里把log文件配置到了/var/log/mysql下,而mysql默认的目录是在/var/lib/mysql,所以首先要新建mysql文件夹,然后用chown -R mysql.mysql mysql命令将mysql的所有者修改为用户mysql。其次要保证,mysql文件夹的权限755(即-rwxr-xr-x)。
如果没有修改权限和所有者,重启服务时就会在错误日志中出现找不到mysql-bin.log或者mysql-bin.log.index的错误(/usr/libexec/mysqld: File '/var/log/mysql/mysql-bin.log.index' not found (Errcode: 13))。

3. 重新启动mysql服务

在完成了对my.cnf的修改后,通过service mysqld restart重新启动mysql服务。在正确启动后,可以通过如下方式检查配置是否正确:

1)登录mysql,执行show master status,看是否有如下输出:


+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      106 |              | mysql            |
+------------------+----------+--------------+------------------+

2)到/var/log/mysql目录下,看是否产生了类似mysql-bin.000001和mysql-bin.log.index的文件。

二、新建同步数据库需要的用户

使用mysql-mmm时一共需要三个用户: replication、mmm_agent和mmm_monitor(管理服务器上用来监控cluster状态的用户,所以可以限定只能从管理服务器登录)。使用下面三条命令新建这三个用户并分配相应的权限:


GRANT REPLICATION CLIENT                 ON *.* TO 'mmm_monitor'@'192.168.84.%' IDENTIFIED BY 'monitor'; 
GRANT SUPER, REPLICATION CLIENT, PROCESS ON *.* TO 'mmm_agent'@'192.168.85.%'   IDENTIFIED BY 'agent'; 
GRANT REPLICATION SLAVE                  ON *.* TO 'replication'@'192.168.85.%' IDENTIFIED BY 'replication'; 

三、同步主从数据库
1. 从主数据库服务器导出当前数据库内容     


mysql> FLUSH TABLES WITH READ LOCK; 
mysql> SHOW MASTER STATUS; 
+------------------+----------+--------------+------------------+ 
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | 
+------------------+----------+--------------+------------------+ 
| mysql-bin.000001 |      106 |              | mysql            | 
+------------------+----------+--------------+------------------+