主服务器IP: 192.168.10.1
从服务器IP:192.168.10.2
1. 修改主服务器master my.cnf:
[mysqld]
log-bin=mysql-bin //[必须]启用二进制日志
server-id=1 //[必须]服务器唯一ID,默认是1,一般取IP最后一段
2. 在主服务器上建立账号并授权slave:
GRANT REPLICATION SLAVE ON *.* to 'slave'@'192.168.10.2' identified by 'slave';
3. 重启主服务器,并登陆,查询其状态:
mysql>show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 308 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
记下Position和Binlog_Do_DB的值,下面要用到
注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化.
4. 修改配置从服务器my.cnf:
[mysqld]
log-bin=mysql-bin //[不是必须]启用二进制日志
server-id=2 //[必须]服务器唯一ID,默认是1,一般取IP最后一段
5. 配置从服务器slave:
mysql> change master to
-> master_host='192.168.10.1',
-> master_user='slave',
-> master_password='slave',
-> master_log_file='mysql-bin.000001',
-> master_log_pos='308';
mysql> start slave; //启动从服务器复制功能
6. 查询从服务器复制数据的状态:
mysql> show slave status\G;
Slave_IO_Running: Yes //此状态必须YES
Slave_SQL_Running: Yes //此状态必须YES
注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。
以上操作过程,主从服务器配置完成。
7. 主从监控:
编写一shell脚本,用nagios监控slave的两个yes(Slave_IO及Slave_SQL进程),如发现只有一个或零个yes,就表明主从有问题了,发短信警报吧。
8. 主从同步出错解决方案:
见文章: <a href="http://blog.itpub.net/90618/viewspace-772299/">主从同步错误解决方案</a>

浙公网安备 33010602011771号