MySQL主主复制

在主从复制的基础上操作,主从复制的搭建可以参考:

MySQL主从同步-CSDN博客

1、在slave数据库创建同步账户

mysql> grant replication slave on *.* to 'slave2'@'%' identified by 'Aa123456.';
mysql> flush privileges;

2、修改slave数据库的配置

[mysqld]
basedir=/data/mysql
datadir=/data/mysql/data
socket=/data/mysql/mysql.sock
user=mysql
skip_name_resolve
port=3306

#允许最大的连接进程数
max_connections=500

#日志时间同步本地时间
log_timestamps = SYSTEM

#错误日志
log_error=/data/mysql/logs/mysql_err.log


#二进制日志
server_id=02
log_bin=/data/mysql/binlogs/mysql-bin-slave
binlog_format= mixed
binlog_cache_size=32m
max_binlog_cache_size=64m
max_binlog_size=10m	#单个文件最大值
expire_logs_days = 10	#过期时间,0为不清理
read-only=0		#1代表只读,0代表读写
#忽略同步的数据库
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys

replicate-ignore-db=information_schema 				 #复制时需要排除的数据库
replicate-ignore-db=mysql 				 	 #复制时需要排除的数据库
replicate-ignore-db=performance_schema 				 #复制时需要排除的数据库
replicate-ignore-db=sys 				 	 #复制时需要排除的数据库


# 作为从库时 更新操作是否写入日志 on:写入  其他数据库以此数据库做主库时才能进行同步
log-slave-updates=on
#记录中继日志
relay_log=/data/mysql/relaylogs/mysqld-relay-slave-bin

auto-increment-increment = 2    
auto-increment-offset = 2

 

3、修改master数据库的配置

[mysqld]
basedir=/data/mysql
datadir=/data/mysql/data
socket=/data/mysql/mysql.sock
user=mysql
skip_name_resolve
port=3306

#允许最大的连接进程数
max_connections=500

#日志时间同步本地时间
log_timestamps = SYSTEM

#错误日志
log_error=/data/mysql/logs/mysql_err.log


#二进制日志
server_id=01
log_bin=/data/mysql/binlogs/mysql-bin-master
binlog_format= mixed
binlog_cache_size=32m
max_binlog_cache_size=64m
max_binlog_size=10m	#单个文件最大值
expire_logs_days = 10	#过期时间,0为不清理
read-only=0		#1代表只读,0代表读写
#忽略同步的数据库
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys

# 作为从库时 更新操作是否写入日志 on:写入  其他数据库以此数据库做主库时才能进行同步
log-slave-updates=on
#记录中继日志
relay_log=/data/mysql/relaylogs/mysqld-relay-master-bin

auto-increment-increment = 2    
auto-increment-offset = 1

4、查看两台MySQL的status

5、在master开启从节点

mysql> change master to master_host='192.168.7.71',master_user='slave2',master_password='Aa123456.',master_port=3306,master_log_file='mysql-bin-slave.000002',master_log_pos=154;

mysql> start slave;

mysql> show slave status\G

#查看到Slave_IO_Running: Yes和Slave_SQL_Running: Yes,即可



#出现ERROR 29 (HY000): File '/data/mysql/relaylogs/mysqld-relay-master-bin.index' not found (Errcode: 13 - Permission denied),原因是没有创建该目录

[root@docker mysql]# mkdir relaylogs
[root@docker mysql]# chown mysql:mysql relaylogs/

6、slave数据库重新开启从节点

 

#清理同步设置
mysql> reset slave;

mysql>change master to master_host='192.168.7.67',master_user='slave',master_password='Aa123456.',master_port=3306,master_log_file='mysql-bin-master.000002',master_log_pos=154;

mysql> start slave;

mysql> show slave status\G

#查看到Slave_IO_Running: Yes和Slave_SQL_Running: Yes,即可



#出现ERROR 29 (HY000): File '/data/mysql/relaylogs/mysqld-relay-master-bin.index' not found (Errcode: 13 - Permission denied),原因是没有创建该目录

[root@docker mysql]# mkdir relaylogs
[root@docker mysql]# chown mysql:mysql relaylogs/

7、验证主主复制

在slave数据库创建一个test数据库

在master数据库查看现有数据库

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值