版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢 一、架构方案思路 1.两台mysql都可读写,互为主备。...如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项。一般为了保证主主同步不冲突,会忽略mysql数据库。...# SLAVE DB # replicate-do-db = test,androidpnserver #[可选]只同步对应的数据库...#[必须]不需要同步的数据库。...如果有多个数据库可用逗号分隔,或者使用多个replicate-ignore-db选项。一般为了保证主主同步不冲突,会不同步mysql数据库。
B数据库操作 1.导入数据 mysql -uroot -p < alldb.sql 2.修改配置文件 vim /etc/my.cnf [mysqld] log-bin=mysql-bin #开启二进制日志...server-id=2 #设置server-id,必须唯一 3.重启mysql,配置同步 systemctl restart mysql 需要A服务器主机名,登陆凭据,二进制文件的名称和位置 CHANGE...Slave_IO_Running: Yes Slave_SQL_Running: Yes 都是yes即可 5.配置作为A的主 创建用户并授权:用户:test密码:123456,ip配置为A的IP CREATE...123456'; 分配权限 GRANT REPLICATION SLAVE ON *.* TO 'test'@'182.92.172.80'; flush privileges; 这次不用锁表了,因为B在同步....000004 | 254 | | | +------------------+----------+--------------+------------------+ A数据库操作 需要B服务器主机名
一.准备 1.两个数据库版本最好一致 2.两个数据库内数据保持一致,若不一致,可手动调整,比如A比B多一个库,那将这个库导入到B库,达到一致。...A数据库:182.92.172.80 B数据库:123.57.44.85 二.操作 A数据库操作 1.开启binlog vim /etc/my.cnf [mysqld] log-bin=mysql-bin...#开启二进制日志 server-id=1 #设置server-id,不能一样 2.重启mysql,创建用于同步的用户账号 systemc restart mysql 登陆数据库 mysql -hlocalhost...privileges; 锁表,禁止写入,当前窗口不能退出,这时候开启另一个终端继续操作 flush table with read lock; 3.新窗口操作,查看master状态,记录二进制文件名(mysql-bin....000003 | 73 | | | +------------------+----------+--------------+------------------+ 4.将当前数据导出,如果两数据库不一样
最近有个需要,国内和国外分别开了两台mysql数据库,要求是数据实时同步,不管那边访问,数据都是一样的。 其实好几年前,做过一次MySQL的主主同步,都已经忘记怎么做了。这次做完,顺便记录一下。...前提 服务器A的IP:1.1.1.1 服务器B的IP:2.2.2.2 数据库操作,务必提前备份好原始数据。 两台服务器的MySQL数据,先同步一次。保证数据完全一致。...auto_increment_increment主键自增的步长,用于防止Master与Master之间出现主键冲突(重复),通常有多少台主服务器,设置为多少 MySQL二进制日志名和偏移量 服务器A、服务器...MySQL互相设置同步 假设: 服务器A:File是mysql-bin.000009,Position是153 服务器B:File是mysql-bin.000010,Position是154 那么 服务器...执行:Mysql> show slave status\G,如果其中显示两个Yes,即同步成功。
环境: MySQL 5.7.25 主主架构 故障现象: 发现互相之间的同步均发生异常,两端均出现1236错误,在两个主节点上分别执行show slave status显示的关键信息如下: Master1...而具体报错信息中比较明显的一点是说A slave with the same server_uuid/server_id as this slave has connected to the master,可是这套主主同步的环境...最终结合报错时间点和客户沟通是否有变更,结果发现这套环境在虚拟化平台上,该时刻正好用户以这套主主同步的MySQL环境Master1、Master2分别克隆出两台虚拟主机New1、New2,而克隆中的New1...知道原因后,与用户沟通,最终是将New1、New2的slave停止;重新启动Master1和Master2的slave进程,就恢复了正常的同步。...mysql]# grep server-id /etc/mysql/my.cnf #4)server-id = 1121 确保主从或主主各个节点不同,规则可考虑使用ip地址后两段,如192.168.1.121
基础信息 主库: 数据库2 10.126.4.2 数据库3 10.126.4.3 1....停止数据库3对外服务 防止同步过程中服务通过数据库3写入数据 $ firewall-cmd --remove-port=3306/tcp $ firewall-cmd --add-rich-rule=...切断数据库2、3的同步 两台主机分别执行 mysql>change master to master_host='' mysql>stop slave; mysql>reset slave; 4....清空数据库3 清空数据文件 $ rm /var/lib/mysql $ mv /db/mysql /db/mysql-190708 $ mkdir /db/mysql $ ln -s /db/mysql...数据库2配置主库信息 查询数据库3的 master_log_file 和 master_log_pos 10.126.4.3 show master status; 10.126.4.2 mysql >
而主主同步就是两个主从同步,没什么多的东西 首先先修改下my.cnf配置文件 1. 主数据库 vi /etc/my.cnf 在 [mysqld] 下面添加3行 # 修改,必须保证每个服务器不一样。...防止进入死循环 server-id = 1 # 开启mysql的binlog日志,一般都有 log-bin = mysql-bin # 只把哪些数据库的改动记录到binary日志中。...# binlog-ignore-db = mysql # binlog-ignore-db = hello # 下面两个用于在 双主(多主循环)互相备份。...master to master_host='主数据库ip',master_user='r_user',master_password='密码',master_log_file='mysql-bin.000029...主主同步 主主同步就是两台服务器互为主从,把上面的 主从配置 和 命令 反过来再做一遍 就可以了。
刚刚抽空做了一下MYSQL 的主主同步。 把步骤写下来,至于会出现的什么问题,以后随时更新。这里我同步的数据库是TEST 1、环境描述。 ...A: user = mysql log-bin=mysql-bin server-id = 1 binlog-do-db=test binlog-ignore-db=mysql replicate-do-db...从而保证了数据的同步 。 4、重新启动MYSQL服务器。...Starting mysqld daemon with databases from /usr/local/mysql/data 5、进入MYSQL的SHELL。...具体文章见: http://dev.mysql.com/tech-resources/articles/advanced-mysql-replication.html 在邮件列表中看到有人讨论在线同步与忽略库与表的问题
4)Mysql复制的模式 1--主从复制:主库授权从库远程连接,读取binlog日志并更新到本地数据库的过程;主库写数据后,从库会自动同步过来(从库跟着主库变); 2--主主复制:主从相互授权连接...需要限定同步哪些数据库,有3个思路: 1)在执行grant授权的时候就限定数据库; 2)在主服务器上限定binlog_do_db = 数据库名; 3)主服务器上不限定数据库,在从服务器上限定replicate-do-db...= 数据库名; 如果想实现 主-从(主)-从 这样的链条式结构,需要设置: log-slave-updates 只有加上它,从前一台机器上同步过来的数据才能同步到下一台机器。...,必须于主服务器不同 log-bin=mysql-bin #启动MySQ二进制日志系统 replicate-do-db=huanqiu #需要同步的数据库名。...主从同步的效果 现在主数据库上写入新数据 mysql> unlock tables; #解锁,否则新数据无法写入 mysql> insert into huanqiu.haha values(100
主主同步配置 4.1. ...auto_increment_increment auto_increment_offset 和auto_increment_offset一起用于主主同步,用来错开自增,...上述配置会导致同步所有的数据库,借助下列配置项也可以选择性的同步或不同步: 配置项 配置项说明 binlog-do-db=test1 binlog-do-db=test2...表示只同步数据库test1和test2,如果还想同步test3,只需要新增一行:binlog-do-db=test3即可 binlog-ignore-db=db1 binlog-ignore-db...=db2 表示不同步数据库db1和db2,如果还有db3不想同步,新增一行:binlog-ignore-db=db3即可 相关配置项(对于主从同步,只需要在从上配置):replicate-do-db
mysql8.0已经发布几年了,现在还有使用mysql5.6的情况,今天我们来温故一下mysql5.6的双主配置, 配置 MySQL 5.6 双主同步的步骤如下: 请注意,你需要在两个服务器上都执行这些步骤...replicate-do-db=your_database auto_increment_increment = 2 auto_increment_offset = 2 注意:你应该将 your_database 替换为你想要同步的数据库名称...2.重启 MySQL 服务 使用以下命令重启 MySQL 服务: sudo service mysql restart 3....在 MySQL 交互式命令行中输入: CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO...以上就是配置 MySQL 5.6 双主同步的步骤。请注意,双主同步需要小心处理,因为它可能导致数据不一致的问题,如双重写入。因此,建议只在熟悉这个概念的情况下使用它,并确保有恰当的冲突解决策略。
之前文章介绍过MySQL修改lower_case_table_names参数,如果之前大写存储的表将无法识别,需要特殊处理。...最近遇到一例应用开发人员在修改这个参数之后,为了清除之前大写存储的表,做了误操作,导致主主不同步。...y 而且后续根据故障现象推测:操作人员最初只在一个主节点做了这样的操作,随后在这个主节点执行了删除数据库的动作,最后又建立了新的数据库重新建表,最终才发现另一个主节点已经不同步了,尝试自己无法解决后,上报了故障给客户...此刻现象就是:Master1 删除数据库成功后,但Master2 同步报错1010,内容是删除数据库发生错误,具体如下: root@mysqldb 23:04: [test]> show slave...Master_UUID: 08c887bf-98ab-11ea-b70c-080027c2997a Master_Info_File: mysql.slave_master_info
在同一个城市的两个数据中心(中心A和中心B)配置两个MySQL实例为双主复制模式是常见的设计。 MySQL双主复制的配置涉及到许多步骤,以下是一个基本的步骤指南: 1....修改MySQL配置:你需要在每台MySQL服务器上的my.cnf文件中添加或修改一些配置选项。其中,最重要的配置选项可能是server-id,每台服务器的server-id必须是唯一的。...配置主主复制:在服务器1上,查看二进制日志文件的状态: SHOW MASTER STATUS; 记录下File和Position的值。...启动复制:在每台服务器上,使用以下命令启动复制: START SLAVE; 这样就完成了MySQL双主复制的配置。...请注意,在生产环境中使用双主复制需要特别注意数据一致性问题。为了避免冲突,你可能需要使用某种方式将写操作分区,例如,让一部分应用只写入一台主机,另一部分应用只写入另一台主机。
WITH GRANT OPTION; FLUSH PRIVILEGES; 配置主主复制 1.修改/etc/my.cnf并重启mysqld #node118 /etc/my.cnf [mysqld]...=2 log-bin=mysql-bin expire_logs_days = 3 auto-increment-offset=1 auto-increment-increment=2 2.设置同步...SHUTDOWN: 关闭MySQL服务。 数据库/数据表/数据列权限: ALTER: 修改已存在的数据表(例如增加/删除列)和索引。 CREATE: 建立新的数据库或数据表。...附录2:设置同步问题处理 若设置完同步并启动slave后,检查状态时不都为Yes: Slave_IO_Running: Yes Slave_SQL_Running: Yes 则同步设置未成功,请查看日志...后重新配置同步
数据库同步方式 两台服务器互为主从,双向同步数据 ? 创建数据库表 为试验双向同步,简单编写了一个创建数据库和一个用户表的语句。 并分别在服务器242和243上的MySQL中执行语句。...Show Slave Status 部分释义 ① Slave_IO_Status:线程已经连接上主服务器,正等待二进制日志事件到达。如果主服务器正空闲,会持续较长的时间。...为了方便测试,装了一个Navicat for MySQL; 对242和243数据库进行了双向的增、删、改操作; 结果:最后都能正确的双向同步。...模拟测试自增长列解决方案 测试过程模拟同步在断开后,两个数据库分别都有数据插入,然后再开启同步,是否会有自增ID的冲突。 1.先分别在服务器242和243上停止Slave线程 ?...2.然后分别向服务器242和243所在数据库中分别插入数据 ? ? 很明显,分别插入时,自增列也不会重复; 3.分别开启服务器242和243的Slave线程 ? 4.查看同步后的数据 ?
=db1,db2 #忽略不同步的库 保存后重启 /etc/init.d/mysqld restart 运行mysql客户端 mysql -uroot -p 创建同步账号 grant replication...--+--------------+------------------+-------------------+ 1 row in set (0.00 sec) 记录下二进制日志文件名和位置 备份数据库...客户端 mysql -uroot -p 创建同步账号 grant replication slave on *.* to 'repl1'@'192.168.1.1' identified by '1234...回到server1上操作 运行mysql客户端 mysql -uroot -p 取消server1上数据库的锁定 mysql> unlock tables; 执行以下命令 stop slave; ...主主复制测试 经测试,主主复制配置成功。 具体过程略,请自行请参考上一篇 mysql5.7主从配置 里的方法。
这次是一主多从的测试,其实和一主一从是一样的原理。...在[mysqld]下添加如下字段: server-id = 1 log-bin=mysql-bin binlog-do-db=YYY //需要同步的数据库 binlog-ignore-db=mysql...//被忽略的数据库 binlog-ignore-db=information-schema //被忽略的数据库 在master上分别为slave添加一个同步账号 mysql> grant replication...master-user= affairlog master-password=pwd123 master-port=3306 master-connect-retry=60 replicate-do-db=YYY //同步的数据库...replicate-ignore-db=mysql //被忽略的数据库 replicate-ignore-db=information-schema //被忽略的数据库 保存后,重启slave的mysql
mysql一主多从同步配置 架构 一主多从和一主一从的原理是一样的: graph LR master-->slave1 master-->slave2 master-->slave......server-id = 1 log-bin=mysql-bin binlog-do-db=YYY //需要同步的数据库 binlog-ignore-db=mysql //被忽略的数据库 binlog-ignore-db...=information-schema //被忽略的数据库 完成以上配置后重启mysql服务。...master-port=3306 master-connect-retry=60 replicate-do-db=YYY //同步的数据库 replicate-ignore-db=mysql //被忽略的数据库...同步配置 进入两个slave机中的mysql。
1.数据库架构图: ?...Keepalived读 VIP:172.16.90.15 master2 172.16.90.14 CentOS 7.2 Keepalived读 VIP:172.16.90.16 3.MySQL...双主配置 master1修改my.cnf,新增如下配置: server-id=13 log-bin=mysql-bin sync-binlog=1 binlog-checksum=none binlog-format...auto-increment-increment=2 auto-increment-offset=1 log-slave-updates slave-skip-errors=all 在master1中为mysql...双主配置完成,验证配置成功: show slave status\G #master1中显示的信息 1. row Slave_IO_State: Waiting for master to send
•内容概述 1.测试环境描述 2.主主OpenLDAP配置 3.主主同步验证 •测试环境 1.CentOS6.5 2.OpenLDAP版本2.4.40 •测试环境 1.OpenLDAP已安装 2.测试环境描述..."dc=fayson,dc=com" -D "cn=Manager,dc=fayson,dc=com" -W |grep dn [1g5ko350un.jpeg] 这里我们不导入数据到备节点,通过配置主主同步的方式将主节点的数据同步至备节点...OpenLDAP数据库了。...5.主主同步验证 ---- 通过如下步骤来进行验证: 在主节点的OpenLDAP服务上导入faysonadd用户和用户组 在备节点的OpenLDAP服务上查找faysonadd用户是否同步 在备节点的OpenLDAP...到此为止已完成了OpenLDAP服务的主主同步。 6.总结 ---- 使用MorrorMode实现OpenLDAP主主同步需要注意配置文件中的ServerID两个节点不能相同。
领取专属 10元无门槛券
手把手带您无忧上云