MySQL主主复制(主从复制:ID无所谓,只需要在从上面建立复制关系即可)
DB1 的IP为:172.16.100.117
DB2 的IP为:172.16.100.118
第一步:开启数据库复制相关参数,并重启数据库:
开启复制参数:
vim /data/mysql${DB_PORT}/my.cnf
server-id=70
log_bin=/data/mysql${DB_PORT}/logs/mysql-bin
relay_log=/data/mysql${DB_PORT}/logs/mysql-relay-bin
log_bin_trust_function_creators=1
log-slave-update
skip-external-locking
重启数据库:
# /etc/init.d/mysql${DB_PORT} restart
第二步:登陆数据库并记录数据库日志当前位置
mysql> show master status;
显示为:
File Position …….
mysql-bin.000001 120 ……..
记录下日志文件名和pos号
第三步:建立数据库复制关系(在172.16.100.117 上操作)
mysql> Change master to master_host='172.16.100.118',master_port=${DB_PORT},master_user='slave',master_password='slave',master_log_file=' mysql-bin-00001',master_log_pos=120;
注1:master_log_file 为 172.16.100.118 上的日志文件名称
注2:master_log_pos 为 172.16.100.118 上的日志文件pos
建立数据库复制关系,在172.16.100.118上操作(如果是主从则跳过此步骤)
mysql> Change master to master_host='172.16.100.117',master_port=${DB_PORT},master_user='slave',master_password='slave',master_log_file=' mysql-bin-00001',master_log_pos=120;
注1:master_log_file 为 172.16.100.117 上的日志文件名称
注2:master_log_pos 为 172.16.100.117 上的日志文件pos
第四步:启动MySQL数据复制(注意防火墙)
mysql> start slave;
并查看数据库复制状态:
show slave status\G;
命令执行后,下列两条显示为 即代表复制关系成功:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
至此,数据库第一个数据库主主复制模式搭建成功,多实例参照本例,注意 数据库端口号,日志文件名,日志文件pos 位置需要修改。