mysql的双主模式搭建(二)

配置双主模式

配置数据库1

修改1服务器上的数据库配置文件/etc/my.cnf,增加以下配置:

#设置server-id
server-id=1
#开启二进制日志
log-bin=mysql-bin
#开启中继日志
relay-log=relay-log
#设置binlog日志格式
binlog_format=ROW
#设置不进行同步的数据库
binlog-ignore-db=mysql
binlog-ignore-db=sys
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
#设置并行复制线程数,推荐和cpu核数保持一致
slave_parallel_workers=8
#设置组提交的并行复制方式
slave_parallel_type=logical_clock
#开启gtid模式
gtid_mode=on
#设置GTID的一致性
enforce_gtid_consistency=ON
#开启中继日志恢复
relay-log-recovery=1
#设置中继日志信息记录的方式
relay-log-info-repository=TABLE
#设置同步master.info事务间隔
sync_master_info=1
#设置master.info记录方式
master_info_repository=TABLE
#设置binlog日志过期清理时间
expire_logs_days=30

#设置登录验证方式
default_authentication_plugin=mysql_native_password

#开启不区分大小写
#在配置文件内使用该参数需要清空mysql的数据目录,rm -rf /var/lib/mysql/*
#而且在安装mysql后需要执行  mysqld –initialize –lower-case-table-name=1
lower_case_table_names = 1

default-time_zone=’+08:00′

登录mysql创建同步用户

mysql> CREATE USER ‘repl’@’192.168.1.101’ IDENTIFIED BY ‘Welcome1!’;
mysql> GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’192.168.1.101’;
mysql> flush privileges; 

重启mysql

systemctl restart mysqld

查看mysql的状态

show master status

配置数据库2

修改1服务器上的数据库配置文件/etc/my.cnf,增加以下配置:

#设置server-id,不能和mysql重复
server-id=2
#开启二进制日志
log-bin=mysql-bin
#开启中继日志
relay-log=relay-log
#设置binlog日志格式
binlog_format=ROW
#设置不进行同步的数据库
binlog-ignore-db=mysql
binlog-ignore-db=sys
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
#设置并行复制线程数,推荐和cpu核数保持一致
slave_parallel_workers=8
#设置组提交的并行复制方式
slave_parallel_type=logical_clock
#开启gtid模式
gtid_mode=on
#设置GTID的一致性
enforce_gtid_consistency=ON
#开启中继日志恢复
relay-log-recovery=1
#设置中继日志信息记录的方式
relay-log-info-repository=TABLE
#设置同步master.info事务间隔
sync_master_info=1
#设置master.info记录方式
master_info_repository=TABLE
#设置binlog日志过期清理时间
expire_logs_days=30
#设置登录验证方式
default_authentication_plugin=mysql_native_password
#开启不区分大小写
#在配置文件内使用该参数需要清空mysql的数据目录,rm -rf /var/lib/mysql/*
#而且在安装mysql后需要执行  mysqld –initialize –lower-case-table-name=1
lower_case_table_names = 1

default-time_zone=’+08:00′

登录mysql创建同步用户

mysql> CREATE USER ‘repl’@’192.168.1.100’ IDENTIFIED BY ‘Welcome1!’;
mysql> GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’192.168.1.100’;
#设置该账号使用普通账号认证
mysql> alter user’repl’@’10.120.72.24′ identified with mysql_native_password by ‘Xdzn@2022’;
mysql> flush privileges; 

重启mysql

systemctl restart mysqld

查看mysql的状态

show master status

查看状态时,只有两台显示的一致结果一致时才会同步成功

配置同步

进入服务器2,登录mysql,执行同步语句

mysql> CHANGE MASTER TO MASTER_HOST=’192.168.1.100′,MASTER_PORT=3306,MASTER_USER=’repl’,MASTER_PASSWORD=’Welcome1!’,master_auto_position=1;

启动同步

mysql> start slave
mysql> show slave statusG;
#Slave_IO_Running和Slave_SQL_Running都显示为YES说明同步成功

 

0

评论0

请先
显示验证码
没有账号?注册  忘记密码?