# mysql的双主模式搭建(二）

> 来源：梦飞idc云平台 | 原文：https://www.mfisp.com/20946.html | 发布：2023-06-01 | 更新：2023-06-01 | 分类：建站教程

## 配置双主模式

 

## 配置数据库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 status\G;  
#Slave_IO_Running和Slave_SQL_Running都显示为YES说明同步成功

---
本页由 梦飞idc云平台（https://www.mfisp.com）提供。站点导航见 https://www.mfisp.com/llms.txt
