一、编辑mysql配置文件设置相关参数和配置授权用户
主库1:(192.168.16.3:3306)
编辑配置文件,然后重启服务
[mysqld]
log_error=/var/log/mysql/error.log
log-bin=mysql-bin # 开机bin-log
server-id=1
auto_increment_increment=2 # 自增键步长(根据主主数量配置,防止复制时出现主键冲突)
auto_increment_offset=1 # 自增键偏移量(起始值)
replicate-do-db=test # 指定要复制的数据库
在主1上创建给主2的授权用户 repl1
create user 'repl1'@'192.168.16.2' identified by '111111';
grant replication slave on *.* to 'repl1'@'192.168.16.2' identified by '111111';
flush privileges;
主库2:(192.168.16.2:3306)
编辑配置文件,然后重启服务
[mysqld]
log_error=/var/log/mysql/error.log
log-bin=mysql-bin
server-id=2
auto_increment_increment=2
auto_increment_offset=2
replicate-do-db=test
在主2上创建给主1的授权用户 repl2
create user 'repl2'@'192.168.16.3' identified by '111111';
grant replication slave on *.* to 'repl2'@'192.168.16.3' identified by '111111';
flush privileges;
二、分别在2台主库上执行复制命令
主库1:(192.168.16.3:3306)
根据主2的master信息和配置的授权用户信息在主1命令行中 执行主从复制命令
change master to
master_host='192.168.16.2',
master_port=3306,
master_user='repl2',
master_password='111111',
master_log_file='mysql-bin.000001',
master_log_pos=154;
start slave;
主库2:(192.168.16.2:3306)
根据主1的master信息和配置的授权用户信息在主2命令行中 执行主从复制命令
change master to
master_host='192.168.16.3',
master_port=3306,
master_user='repl1',
master_password='111111',
master_log_file='mysql-bin.000001',
master_log_pos=154;
start slave;
如果只配置其中1台,那么其实就已经完成了主从复制的配置,主主复制也就是2台数据库相互复制,按主从配置我们在另外的数据库上按照相同的配置方法再配置一次,即完成了主主复制的配置。综合主从、主主复制的配置案例,在此基础就可以扩展自己需要的数据库容灾方案了。