MariaDB配置双主复制方案
发布时间 - 2026-01-11 00:07:36 点击率:次本文环境

Debian 8
MariaDB 10.1.21
配置文件 1
修改服务器 1 上 mysql 配置文件 /etc/mysql/my.cnf
有些配置默认就存在的,如果你有洁癖,请先搜索,再添加配置项。
[mysqld] server-id = 1 log_bin = /var/log/mysql/mariadb-bin log_bin_index = /var/log/mysql/mariadb-bin.index binlog-do-db = tudou1 #需要同步的数据库,这里同步tudou1和tudou2两个数据库 binlog-do-db = tudou2 binlog-ignore-db = mysql #忽略同步的数据库 log_slave_updates #把从库的写操作记录到binlog中 (缺少之后,双主创建失败) expire_logs_days = 365 #日志文件过期天数,默认是 0,表示不过期 auto_increment_increment= 2 #设定为主服务器的数量,防止auto_increment字段重复 auto_increment_offset = 1 #自增长字段的初始值,在多台master环境下,不会出现自增长ID重复
配置文件 2
[mysqld] [mysqld] server-id = 2 log_bin = /var/log/mysql/mariadb-bin log_bin_index = /var/log/mysql/mariadb-bin.index binlog-do-db = tudou1 #需要同步的数据库,这里同步tudou1和tudou2两个数据库 binlog-do-db = tudou2 binlog-ignore-db = mysql #忽略同步的数据库 log_slave_updates #把从库的写操作记录到binlog中 (缺少之后,双主创建失败) expire_logs_days = 365 #日志文件过期天数,默认是 0,表示不过期 auto_increment_increment= 2 #设定为主服务器的数量,防止auto_increment字段重复 auto_increment_offset = 2 #自增长字段的初始值,在多台master环境下,不会出现自增长ID重复
注意:
log slave updates 表示把从库的写操作记录到binlog中,缺少之后,双主创建失败。双主同步时该项必须有
binlog-do-db 需要同步的数据库,可写多个
binlog-ignore-db 表示忽略同步的数据库
创建同步账户
// 服务器 1 GRANT REPLICATION SLAVE ON *.* TO 'repuser'@'server-2' IDENTIFIED BY 'repuser'; FLUSH PRIVILEGES; // 服务器 2 GRANT REPLICATION SLAVE ON *.* TO 'repuser'@'server-1' IDENTIFIED BY 'repuser'; FLUSH PRIVILEGES;
可以顺便在另一台服务器测试能不能登录,如果不能,把 bind-address 那行注释掉即可。
$ mysql -urepuser -prepuser -hserver-1
查看 master 状态
服务器 1 中
MariaDB [mysql]> show master status; +--------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +--------------------+----------+--------------+------------------+ | mariadb-bin.000514 | 639 | xxxxxxxx | mysql | +--------------------+----------+--------------+------------------+ 1 row in set (0.00 sec)
服务器 2 中
MariaDB [mysql]> show master status; +--------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +--------------------+----------+--------------+------------------+ | mariadb-bin.000006 | 1057 | xxxxxxxx | mysql | +--------------------+----------+--------------+------------------+ 1 row in set (0.00 sec)
设置同步
// 服务器 2 MariaDB [mysql]> CHANGE MASTER TO MASTER_HOST='server-1',MASTER_PORT=3306,MASTER_USER='repuser',MASTER_PASSWORD='repuser',MASTER_LOG_FILE='mariadb-bin.000514',MASTER_LOG_POS=639; MariaDB [mysql]> START SLAVE; // 服务器 1 MariaDB [mysql]> CHANGE MASTER TO MASTER_HOST='server-2',MASTER_PORT=3306,MASTER_USER='repuser',MASTER_PASSWORD='repuser',MASTER_LOG_FILE='mariadb-bin.000006',MASTER_LOG_POS=1057; MariaDB [mysql]> START SLAVE; // 完毕之后,分别执行 MariaDB [mysql]> SHOW SLAVE STATUS\G
如出现以下两项,则说明配置成功!
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
双主同步测试
在服务器 1 数据库中创建一个表,看看服务器 2 会不会出现,按照上面教程,如果没问题的话,就是可以同步的。
# mariadb
# 主从复制
# 双主复制
# 主主复制
# centos 7安装mysql5.5和安装 mariadb使用的命令
# CentOS 7中成功安装MariaDB的方法教程
# 在Ubuntu系统中安装MariaDB数据库的教程
# ubuntu14.04LTS安装nginx+mariaDB+php7+YAF的方法
# Linux下安装MariaDB数据库问题及解决方法(二进制版本的安装)
# mariadb的主从复制、主主复制、半同步复制配置详解
# MariaDB(Mysql分支)my.cnf配置文件中文注释版
# Windows Server 2016 服务器配置指南 之 MariaDB数据库环境搭建方法
# CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)
# Window7安装MariaDB数据库及系统初始化操作分析
# 配置文件
# 主创
# 多台
# 多个
# 会不会
# 你有
# 请先
# 该项
# 两项
# 数据库中
# 创建一个
# 再添
# 则说
# 另一台
# 那行
# log_slave_updates
# expire_logs_days
# bash
# db
# ignore
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
如何快速上传建站程序避免常见错误?
如何在Tomcat中配置并部署网站项目?
轻松掌握MySQL函数中的last_insert_id()
详解vue.js组件化开发实践
如何选择可靠的免备案建站服务器?
如何用JavaScript实现文本编辑器_光标和选区怎么处理
公司网站制作需要多少钱,找人做公司网站需要多少钱?
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
在线教育网站制作平台,山西立德教育官网?
如何在万网自助建站平台快速创建网站?
如何快速搭建高效简练网站?
企业网站制作这些问题要关注
如何用AI帮你把自己的生活经历写成一个有趣的故事?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
Python数据仓库与ETL构建实战_Airflow调度流程详解
如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
EditPlus中的正则表达式 实战(2)
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
浅述节点的创建及常见功能的实现
JavaScript模板引擎Template.js使用详解
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
济南网站建设制作公司,室内设计网站一般都有哪些功能?
如何快速生成凡客建站的专业级图册?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
中山网站推广排名,中山信息港登录入口?
详解阿里云nginx服务器多站点的配置
如何为不同团队 ID 动态生成多个非值班状态按钮
如何在万网开始建站?分步指南解析
如何快速上传自定义模板至建站之星?
如何用腾讯建站主机快速创建免费网站?
魔方云NAT建站如何实现端口转发?
如何用免费手机建站系统零基础打造专业网站?
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
Laravel如何实现密码重置功能_Laravel密码找回与重置流程
音乐网站服务器如何优化API响应速度?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
详解CentOS6.5 安装 MySQL5.1.71的方法
javascript日期怎么处理_如何格式化输出
如何在建站宝盒中设置产品搜索功能?
用yum安装MySQLdb模块的步骤方法
如何在阿里云通过域名搭建网站?
php打包exe后无法访问网络共享_共享权限设置方法【教程】
如何在Ubuntu系统下快速搭建WordPress个人网站?
jQuery中的100个技巧汇总
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】

