一:主从
机器a:192.168.1.100
机器b: 192.168.1.101
1,给a :my.cnf添加以下配置
server-id=100 log-bin=mysql-bin binlog-format=mixed |row|statement
2,在a上新建帐号
grant replication slave,replication client on *.* to 'repl'@'192.168.1.%' identified by 'repl';
3,给b:my.cnf添加以下配置
server-id=101 relay-log=mysql-relay read-only=1
4,b上执行:
change master to master_host = '192.168.1.100', master_host = 'repl', master_password='repl', master_log_file='mysql-bin.000001', master_log_pos='xxx'
其中master_log_file和master_log_pos通过在master上执行show master status确定,也可以直接在os上查看文件名确定file
5, b上执行
slave start
二:主主
机器a:192.168.1.100
机器b: 192.168.1.101
1,添加a:my.cnf
server-id=100 log-bin=mysql-bin binlog-format=mixed #statement/row/mixed relay-log=mysql-relay log-slave-updates=1 #保证同步过来的数据写入自己的bin-log auto_increment_increment=2 #自增步长 auto_increment_offset=1 #自增初始偏移量
2,添加b:my.cnf
server-id=101 log-bin=mysql-bin binlog-format=mixed #statement/row/mixed relay-log=mysql-relay log-slave-updates=1 #保证同步过来的数据写入自己的bin-log auto_increment_increment=2 #自增步长 auto_increment_offset=2 #自增初始偏移量
3 ,a,b建立帐号:
grant replication slave,replication client on *.* to 'repl'@'192.168.1.%' identified by 'repl';
4,a执行:
change master to master_host = '192.168.1.101', master_host = 'repl', master_password='repl', master_log_file='mysql-bin.000001', master_log_pos='xxx'; slave start;
5,b执行:
change master to master_host = '192.168.1.100', master_host = 'repl', master_password='repl', master_log_file='mysql-bin.000001', master_log_pos='xxx'; slave start;
搞定!