前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MYSQL 配置互为主从同步

MYSQL 配置互为主从同步

作者头像
院长技术
发布2021-02-19 11:11:32
6740
发布2021-02-19 11:11:32
举报
文章被收录于专栏:院长运维开发

机器准备:

A Server 1.1.1.1 (拥有完整数据) B Server 2.2.2.2

修改my.cnf [mysqld] 下面增加项目:

A服务器如下:

代码语言:javascript
复制
log-bin=mysql-bin
server-id= 1
binlog-do-db=database // 修改为需要同步的数据库名称
replicate-do-db=database  // 修改为需要同步的数据库名称
log-slave-updates
slave-skip-errors= 1062,1060,1032
auto_increment_increment=1
auto_increment_offset=2
relay-log=mysqld-relay-bin

B服务器如下:

代码语言:javascript
复制
log-bin=mysql-bin
server-id= 2
binlog-do-db=database  // 修改为需要同步的数据库名称
replicate-do-db=database  // 修改为需要同步的数据库名称
log-slave-updates
slave-skip-errors= 1062,1060,1032
auto_increment_increment=2
auto_increment_offset=2
relay-log=mysqld-relay-bin

分别在AB服务器创建同步用户shadow , 密码shadowpass

代码语言:javascript
复制
use mysql
grant replication slave on *.* to 'shadow'@'%' identified by 'shadowpass';
flush privileges;

use数据库后锁定A服务器数据库

代码语言:javascript
复制
FLUSH TABLES WITH READ LOCK;

备份A服务器数据库 mysqldump 为sql文件。

导入sql文件备份到B服务器。

在AB两台服务器上分别重置master和slave

代码语言:javascript
复制
reset master;
reset slave;

检查AB服务器上master_log_pos,应该都为79,如果不是根据实际值修改。mysql-bin.000001也根据实际情况修改。

代码语言:javascript
复制
mysql
show master status;

+------------------+----------+--------------+------------------+

| File                         | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000001 |             79 |                           |                                   |

+------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

在A服务器上执行:

代码语言:javascript
复制
change master to master_host='2.2.2.2',master_user='shadow',master_password='shadowpass',master_log_file='mysql-bin.000001',master_log_pos=79;

在B服务器上执行:

代码语言:javascript
复制
change master to master_host='1.1.1.1',master_user='shadow',master_password='shadowpass',master_log_file='mysql-bin.000001',master_log_pos=79;

分别解锁2台服务器数据库并且启动slave

代码语言:javascript
复制
UNLOCK TABLES;
start slave;

配置完成,show slave statusG 检查是否同步成功。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 机器准备:
  • 修改my.cnf [mysqld] 下面增加项目:
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档