文档章节

MySQL主从复制——异步方式(binlog+position、GTID)

LoSingSang
 LoSingSang
发布于 2018/12/29 17:28
字数 626
阅读 20
收藏 4

如需转载请注明出处https://my.oschina.net/feistel/blog/2995251

 

异步方式,是MySQL的默认方式

 

我丑 话说在前头:

192.168.1.116 主masterA Windows MySQL8.0
192.168.1.200 备库B,VMUbuntu18 MySQL8.0
vip:192.168.1.201

shell代表Ubuntu终端
cmd代表Windows终端

----------------------------------------------------------------------------------------------------------------

1

修改B的server-id为2,两个库的server-id不能相同
在B etc/mysqld.cnf里的[mysqld]添加:
# Server Id.
server-id=2

#开启binlog写二进制日志文件:
log_slave_updates=1

保存

----------------------------------------------------------------------------------------------------------------

2

每次修改配置文件需要重启服务以便载入
shell>service mysql restart

B mysql>show variables like "%id";
B mysql>show variables like "%slave";
查看相应值是否修改成功,否则说明配置文件不对
说明:如果etc/mysqld.cnf里新加的参数不对或打错什么的,重启数据库服务会出错

关闭AB防火墙,Windows控制面板,Ubuntu为:
shell>service iptables stop

----------------------------------------------------------------------------------------------------------------

3

创建主从复制账号并授权:
A mysql>create user 'lgl'@'%' identified by '123456';
A mysql>grant replication slave on *.* to 'lgl'@'%';
A mysql>flush privileges;

----------------------------------------------------------------------------------------------------------------

4

使用mysqldump备份,保证主从库里的数据库、表和数据一致
cmd>mysqldump --single-transaction -u root -p --master-data=2 -A >E:\all_20181229.sql
--master-data=2为了获取sql文件里的binlog文件与position号:
-- CHANGE MASTER TO MASTER_LOG_FILE='LGL-PC-bin.000025', MASTER_LOG_POS=1153426;

shell>mysql -u root -p < /home/lgl/公共的/MySQL/all_20181229.sql
相关:MySQL 8.0 mysqldump备份与恢复

----------------------------------------------------------------------------------------------------------------

5

B mysql>
CHANGE MASTER TO
MASTER_HOST='192.168.1.116',
MASTER_USER='lgl',
MASTER_PASSWORD='123456',
MASTER_PORT=3306,
MASTER_LOG_FILE='LGL-PC-bin.000025',
MASTER_LOG_POS=1153426;

开始主从同步:
B mysql>start slave;

B mysql>show slave status\G;

看到如下,表示成功:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

----------------------------------------------------------------------------------------------------------------

5'(附加)

上面是使用binlog+position的搭建方式,这里介绍更快的方式:GTID

在B etc/mysqld.cnf里的[mysqld]添加:

#开启GTID
gtid-mode=on
enforce_gtid_consistency=on

在A mysql.ini里的[mysqld]添加:

#开启GTID
gtid-mode=on
enforce_gtid_consistency=on

都需要重启服务!


B mysql>
CHANGE MASTER TO
MASTER_HOST='192.168.1.116',
MASTER_USER='lgl',
MASTER_PASSWORD='123456',
master_auto_position=1;

对于需要多主一从情况(假设另一主库为115,账号为lgk):
B mysql>
CHANGE MASTER TO
MASTER_HOST='192.168.1.116',
MASTER_USER='lgl',
MASTER_PASSWORD='123456',
master_auto_position=1 for CHANNEL 'm1';

CHANGE MASTER TO
MASTER_HOST='192.168.1.115',
MASTER_USER='lgk',
MASTER_PASSWORD='123456',
master_auto_position=1 for CHANNEL 'm2';

----------------------------------------------------------------------------------------------------------------

6

如果Slave_IO_Running: No
参考:mysql主从复制之异常解决--- Slave_IO_Running: NO 之三大原因

 

如果Slave_SQL_Running: No
B mysql>
stop slave; 
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
start slave;

----------------------------------------------------------------------------------------------------------------

7

在A新建表

B会与A执行相同的操作

----------------------------------------------------------------------------------------------------------------

至此,共勉,如需转载请注明出处https://my.oschina.net/feistel/blog/2995251

© 著作权归作者所有

共有 人打赏支持
LoSingSang
粉丝 3
博文 53
码字总数 16173
作品 0
深圳
程序员
私信 提问
GTID!MySQL复制中的核武器

各位老铁们,本周老张的《MySQL王者晋级之路》一书终于出版了,现在可以预购啦! 预购链接地址:老张的数据库微店 前前后后经历了一年的准备时间,可谓十年磨一剑,把自己从业所有的精华和心...

superZS
2018/06/26
0
0
MySQL 8.0 Keepalived+双主架构——手把手搭建

如需转载请注明出处https://my.oschina.net/feistel/blog/2996572 我丑 话说在前头: 192.168.1.200 主masterB, VMUbuntu18 MySQL8.0 192.168.1.123 主masterC, VMCentOS7 MySQL8.0 vip:192......

LoSingSang
01/03
0
0
Mysql配置Replication主从复制-实现读写分离

概述:Mysql集群的方式可以是很多的,主从,一主多从,多组多从,主从的策略还可以进一步选择和配置。可以说是很灵活了。本文介绍的Replication是异步复制同步方案,分别有基于日志的还有基于...

jorgezhong
2018/09/10
0
0
初识MariaDB之8——GTID主从复制

一、背景介绍 在MySQL5.6之前,主从复制是通过binlog和position实现的,当A主机宕机后,B主机成为新的主节点,此时在C主机上需要使用sql语句:CHANGE MASTER TO MASTERHOST='xxx', MASTERLO...

qiao645
2018/05/10
0
0
MYSQL主从复制搭建及切换操作(GTID与传统)

如下: MYSQL主从复制方式有默认的复制方式异步复制,5.5版本之后半同步复制,5.6版本之后新增GTID复制,包括5.7版本的多源复制。 MYSQL版本:5.7.20 操作系统版本:linux 6.7 64bit 1、异步...

rootliu
2018/06/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

大数据教程(11.9)hive操作基础知识

上一篇博客分享了hive的简介和初体验,本节博主将继续分享一些hive的操作的基础知识。 DDL操作 (1)创建表 #建表语法CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name ...

em_aaron
57分钟前
0
0
OSChina 周四乱弹 —— 我家猫真会后空翻

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @我没有抓狂 :#今天听这个# 我艇牛逼,百听不厌,太好听辣 分享 Led Zeppelin 的歌曲《Stairway To Heaven》 《Stairway To Heaven》- Led Z...

小小编辑
今天
1
0
node调用dll

先安装python2.7 安装node-gyp cnpm install node-gyp -g 新建一个Electron-vue项目(案例用Electron-vue) vue init simulatedgreg/electron-vue my-project 安装electron-rebuild cnpm ins......

Chason-洪
今天
3
0
scala学习(一)

学习Spark之前需要学习Scala。 参考学习的书籍:快学Scala

柠檬果过
今天
3
0
通俗易懂解释网络工程中的技术,如STP,HSRP等

导读 在面试时,比如被问到HSRP的主备切换时间时多久,STP几个状态的停留时间,自己知道有这些东西,但在工作中不会经常用到,就老是记不住,觉得可能还是自己基础不够牢固,知识掌握不够全面...

问题终结者
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部