配置一主一从
主(Master):192.168.56.102
从(Slave):192.168.56.101
主(Master):配置文件 /etc/my.cnf
[mysqld]
# 声明二进制日志文件为mysql-bin.XXXXXX
log-bin=mysql-bin
#二进制格式有三个row/statement/mixed
#row 记录磁盘改变 适合 执行语句长,改变小
#statement 记录执行语句 适合 执行语句短 磁盘改变多
#mixed row + statement混合
binlog_format=mixed
#给mysql服务一个独特的id,通常为局域网的ip最后一段值
server_id = 102
从(Slave):配置文件 /etc/my.cnf
[mysqld]
log-bin=mysql-bin
binlog_format=mixed
server_id = 101
#得到主的bin-log分析后成relay-log才能被自己所用
relay-log=mysql-relay
账号设置
主(Master)服务器设置账号
从(Slave)服务器凭借账号去读主(Master)服务器的bin-log日志
从(Slave)服务器上注意:master_log_file和master_log_pos这两个选项
这两个选项应该和show master status;出来的结果一样(因为从哪个文件,哪个位置开始读)
主(Master):
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000015 | 547 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
在 主(Master)设置账号
mysql> grant replication client,replication slave on *.* to xp@'192.168.56.%' identified by 'xpisme';
mysql> flush privileges;
在从(Slave)上操作 从(Slave)关联到主(Master)服务器
mysql> change master to
master_host='192.168.56.102',
master_user='xp',
master_password='xpisme',
master_log_file='mysql-bin.000015',
master_log_pos=547;
在从(Slave)上操作
mysql> start slave;
搞定