mysql5.7组复制多主一从搭建_MySql5.7-多源复制(多主单从)

1.1.主库配置

my.cnf

#确保唯一

server-id=1

#作为Master要开启binlog

log-bin=mysql-bin

#binlog format有三种形式:Statement、Mixed、Row,默认设置为mixed

binlog-format=mixed

#需要同步的库,不指定默认同步全部库

binlog-do-db=radius

#不需要同步的库

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

binlog-ignore-db=performance_schema

binlog-ignore-db=sys

#这个比较重要,直接影响同步的性能 延时等问题.mysql5.7多源复制参数,5.7之前版本可不加

sync_binlog=1

auto_increment_increment=2

auto_increment_offset=1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#GTID模式

gtid-mode=on

enforce-gtid-consistency

1.2创建主库授权从库同步的用户

mysql>grant replication slave on *.* to 'slave'@'192.168.100.%' identified by '308731044';

replication slave:远程用户备份权限

*.*:第一个星号代表库,第二个星号代表数据库里的表。可指定库和表

'slave'@'192.168.100.%':@前为用户名,@后为授权的IP段(就是允许那些IP使用这个账号权限访问)

'308731044':远程备份用户密码

1.3刷新设置(修改的内容刷新到数据库配置里 )

mysql>flush privileges;

查看和删除授权授权用户(删除不使用的账号)

查询用户:select user,host from mysql.user;

删除用户:Delete FROM mysql.user Where User='sns_qnzs' and Host='172.17.116.%';

44c7d54a9f09bbfeaa52d592ee182c14.png

1.4从库配置

#确保唯一

server-id = 3

#复制的库,不指定默认备份全部库

replicate-do-db = master1

replicate-do-db = master2

#不复制的库

replicate-ignore-db = mysql

replicate-ignore-db = information_schema

replicate-ignore-db = performance_schema

replicate-ignore-db = sys

#binlog日志设置

relay-log = /home/mysql/data/

mysqld-relay-bin

log-slave-updates = ON

slave-parallel-type=LOGICAL_CLOCK

relay_log_recovery=ON

#超时

slave_net_timeout = 30

#复制并发数设置

slave_parallel_workers = 16

#从库复制跳过错误

slave-skip-errors = 1062,1053,1146,1213,1264,1205,1396

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#mysql5.7多源复制必须添加的参数(不加报错),5.7版本之前不用加

master_info_repository=TABLE

relay_log_info_repository=TABLE

#GTID模式(使用GTID就可以不用记录备份位置点)

gtid-mode=on

enforce-gtid-consistency

1.5.从库配置用户及binlog位置信息(推荐使用GTID模式)

#GTID模式配置

CHANGE MASTER TO MASTER_HOST='192.168.1.131', MASTER_USER='slave', MASTER_PORT=3451, MASTER_PASSWORD='xxxxxx', MASTER_AUTO_POSITION = 1 FOR CHANNEL 'master-1';

主库配置可以使用到多个主库上,从库添加相应的配置即可(GTID模式配置)

#Binlog模式

CHANGE MASTER TO

MASTER_HOST='192.168.100.108',

MASTER_PORT=3306,

MASTER_USER='rep',

MASTER_PASSWORD='308731044',

MASTER_LOG_FILE='mysql-bin.000002',

MASTER_LOG_POS=107;

107就是备份binlog位置点。使用GTID可以省略

MASTER_LOG_POS=107;

45b6e4442cf19bd20de78967112dddee.png

查看主从复制状态:

show slave status \G;

show slave status for channel 'master-1' \G;

IO及SQL线程状态为YES时,表示正常

fae242fc95ca77cc246358b19aaca626.png

1.6重置备份配置

1.主库操作

restet master

2.从库操作

stop slave;

stop slave for channel 'master-1'

reset slave all for channel 'master-1'

restet master;

重复步骤1.5

start slave for channel 'master-1'

flush privileges;

mysql主库复制小结:

stop slave; #<==临时停止同步开关。

start slave;#<==临时停止同步开关。

show processlist;查看sql慢查询语句

eba08fa3e7f0812e81f4f2b587f93ffb.png

set global sql_slave_skip_counter =1 ; #<==将同步指针向下移动一个,如果多次不同步,可以重复操作。

主库设置从库跳过错误设置:

1. 当从库复制遇到错误时,比如报错“要创建的数据库已存在”

解决方案: 让从库跳过这一步操作,继续执行其它的操作

方法一: 命令行实现,跳过这一步;

mysql> stop slave;

mysql> set global sql_slave_skip_counter =1;

mysql> start slave;

方法二: 配置文件中,指定忽略的错误;

[root@MySQL opt]# grep slave-skip /data/3308/my.cnf

slave-skip-errors = 1032,1062

grep slave-skip /data/3306/my.cnf

vim /data/3306/my.cnf

slave-skip-errors = 1032,1062,1007(添加可忽略错误状态)

数据库级联同步设置必要参数:

log-slave-updates #<==必须要有这个参数

log-bin = /data/3307/mysql-bin

expire_logs_days = 7 (七天自动删除binlog文件)

总结:

领导要求部署MySql多主单从,之前都是单间单主多从。听到多主单从后,表示一脸懵比。查询一番话。原来是MySql5.7新出的功能。

MySql5.7新功能-多源复制,可以节省服务器成本。提高服务器利用率。搭建和之前的版本大致步骤类似。使用GTID模式更加快捷。

但在集群的过程中,也遇到了很多的坑。大部分都是常见的错误。可以百度也可以根据错误日志进行排查(推荐),使用fpm打包了MySql。

以后也可以放到内网的yum源上,方便重复安装,每天记录一点点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303590.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我敢打赌,这世界没有python数据分析解决不了的问题

相信许多做数据的都有这样的经历&#xff1a;你花了大半天整合了一张数据表&#xff0c;却因为其他部门的错误&#xff0c;导致表格结构全错了&#xff01;于是你又要吭哧吭哧重新来过...每次数据都重复洗一遍&#xff0c;还这么慢&#xff0c;要是有一劳永逸的方法就好了。一劳…

mysql 存储二进制数据_为什么在MySQL中存储二进制数据?

Im a little confused - what are the pros of storing binary data in DB? Is it for security reasons, or there are some more complicated motives i dont see?Thanks for your time.解决方案As opposed to what? Putting it in the filesystem?The drawbacks to usin…

福利再度来袭,R语言数据分析书籍值得你拥有

在这个大数据的时代&#xff0c;数据分析和数据挖掘的重要性日益明显&#xff0c;小编也一直有意识地收集相关数据集&#xff0c;经过长时间的积累和沉淀&#xff0c;已经拥有十几本有关用R做数据分析和数据挖掘的书籍&#xff0c;有《统计建模与R软件》&#xff08;含源码&…

在 .NET Core 中使用 ViewConfig 调试配置

介绍.NET Core 中的配置包含了多个配置提供程序&#xff0c;包括了 appsettings.json&#xff0c;环境变量&#xff0c;命令行参数等&#xff0c;还有一些扩展的自定义提供程序&#xff0c;比如说 ApolloConfig&#xff0c;AgileConfig 这些&#xff0c;然后从键值对中读取配置…

有趣!机器学习预测《守望先锋》里的赢家

网络游戏及电竞流媒体业务正在崛起为一个巨大的市场。在去年的英雄联盟世界锦标赛中&#xff0c;仅一场半决赛就有高达 1.06 亿人观看&#xff0c;甚至超过了 2018 年“超级碗”的观看人数。另一个成功的例子是 Twitch&#xff0c;目前有数千游戏玩家在上面直播玩游戏&#xff…

C#8.0宝藏好物Async streams

之前写《.NET gRPC 核心功能初体验》&#xff0c;利用gRPC双向流做了一个打乒乓的Demo&#xff0c;存储消息的对象是IAsyncEnumerable<T>&#xff0c;这个异步可枚举泛型接口支撑了gRPC的实时流式通信。本文我将回顾分享foreach/yield return/async await语法糖的本质如何…

连接mysql数据库2013_使用VS2013 + EF6 + .NET4.5 连接Mysql数据库

1、安装插件在使用Visual Studio 2013添加ADO.NET实体数据模型新建连接时&#xff0c;默认是没有Mysql选项的。此时我们需要安装两个东西&#xff1a;1、mysql-for-visualstudio&#xff1a;Mysql的Visual Studio插件&#xff0c;推荐1.2.3版本2、mysql-connector-net&#xff…

重磅来袭,2018 年 6 月编程语言排行榜

TIOBE 编程语言社区最新发布了 2018 年 6 月排行榜&#xff0c;和 5 月榜单相比&#xff0c;前九名没有任何变化&#xff0c;依然是 Java、C、C、Python、C#、Visual Basic .NET、PHP、JavaScript、SQL。5月份第十名的Ruby在这个月下降了一名&#xff0c;而R则上升一名&#xf…

mysql bench linux_MySQL Study之--Linux下安装MySQL workbench工具

系统环境&#xff1a;操作系统&#xff1a; RedHat EL6.4(64)WorkBench&#xff1a; mysql-workbench-community-6.0.9MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。你可以用MySQL Workbench设计和创建新的数据库图示…

.NET6发布了Preview2,这点超越过去10年!

从ASP.NET的性能诟病&#xff0c;到.NET Core的性能持续改进&#xff0c;在每一个.NET Core版本都能看到性能优化提升的介绍。.NET Core3.1在各种性能排行中霸榜&#xff0c;.NET5再度提升了性能&#xff0c;前些天发布的.NET Preview2&#xff0c;通过PGO &#xff08;Profile…

人工智能预测2018年世界杯 | 德国人打破历史将在俄罗斯上取得最后的胜利?

2018年俄罗斯世界杯近在眼前&#xff0c;比赛将于6月14日~7月15日在俄罗斯的各地举行。但世界杯还没开始&#xff0c;人们已经出现了各种各样的“比赛结果预测”。其中不乏有一些专业人士以及原足球选手&#xff0c;也有许多“生物”对此预测。前几年&#xff0c;章鱼哥保罗就准…

Q+开放的互联网:腾讯QQ “亮剑” 开放平台

&#xff08;图一&#xff09; 近日&#xff0c;人民日报的腾讯广告&#xff08;图一&#xff09;&#xff0c;在网民心中引起不小的波动。看着图中憨厚的小企鹅&#xff0c;后面是数以万计的应用软件&#xff0c;给人一种大将领兵征战沙场的感觉。图片左下角是 “Q开放的互联网…

php查询mysql乱码_php 查询mysql乱码怎么办

php查询mysql乱码的解决办法&#xff1a;1、修改PHP页面语言本身的编码类型&#xff1b;2、将MySQL字符集更改为“UTF8”&#xff1b;3、使用ultraplus中的编码转换功能进行转换。php读取mysql中文数据出现乱码的解决方法1.PHP页面语言本身的编码类型不合适&#xff0c;这时候&…

猝不及防,Google成功“造人”令人胆寒!人类迎来史上最惨失业潮…

01猝不及防&#xff01;这次&#xff0c;Google“造人”了&#xff01;5月8号&#xff0c;谷歌召开一年一度的Google I/O大会。谷歌CEO劈柴直接祭出了这次大会的王牌AI&#xff0c;这个智能过人的Al让人看完不禁倒吸一口凉气……相比Apple Siri和Microsoft Cortana只能机械式对…

雷军这个程序员!真的牛逼!

阅读本文大概需要3分钟。这两天忙着给CEO汇报工作以及跟进几个新产品的进展&#xff0c;忙到连新闻都没时间看。今天终于轻松了点&#xff0c;早上起来刷了刷知乎&#xff0c;看见一个让我惊呆了的消息&#xff1a;雷军要造车了&#xff01;雷军宣称亲自带队&#xff0c;初期就…

poj2545

题意&#xff1a;给出三个质数&#xff0c;求这素因子只有这三个质数的数中第k大的。 分析&#xff1a;用一个数列&#xff0c;第一位是1。用三个指针指向三个prime要乘的被乘数&#xff0c;最开始都指向1。每次取乘积最小的加入数组&#xff0c;并把指针后移。加入时要判断是否…

微软发布 Windows 10 预览版 Build 21343:此电脑和回收站等启用全新图标

微软已向开发频道&#xff08;Dev&#xff09;的 Windows 预览体验成员发布了 Windows 10 Insider Preview Build 21343 更新。内置应用和文件夹启用全新图标从去年开始&#xff0c;微软就不断为 Windows 10 内置应用重新设计图标。在 Windows 10 版本 20H2 更新中&#xff0c;…

什么样的程序员会让人讨厌

我有一个朋友&#xff0c;就是一个程序员&#xff0c;找他做事的时候&#xff0c;最让人讨厌了。00不愿意帮我修电脑。我说电脑坏了&#xff0c;想让他看看&#xff0c;他先是叫我检查插头&#xff0c;然后叫我重启&#xff0c;重启好之后&#xff0c;他冷淡的说&#xff1a;以…

金州勇士队,硅谷黑科技打造的NBA奇迹!

【导读&#xff1a;2018NBA决赛表明&#xff0c;创业如同打球&#xff0c;应该学习勇士&#xff0c;团队作战打“群架”&#xff0c;单打独斗像骑士&#xff0c;纵有“小皇帝”&#xff0c;也难免被横扫】NBA是中国人民最喜欢观看和讨论的美国体育联赛。在NBA诸强中&#xff0c…

入坑机器学习?送你一篇麻省博士的学习心得

[导读] 随着人工智能技术的火热&#xff0c;越来越多的年轻学者正准备投身其中&#xff0c;开启自己的研究之路。和所有其他学科一样&#xff0c;人工智能领域的新人总会遇到各种各样的难题&#xff0c;其中不仅有研究上的&#xff0c;也有生活方面的。MIT EECS 在读博士、前 V…