Centos7系统下Mysql主从同步配置方案
作者:菜鸟想高飞 发布时间:2024-01-24 11:29:18
前言
最近在做项目高可用时,需要使用数据同步。由于只有双节点,且采用主主同步可能存在循环同步的风险,故综合考虑采用Mysql主从同步(Master-Slave同步)。
可能没有接触过Mysql数据同步时,可能会觉得数据同步很难,但你按照如下操作一遍之后,会发现原来同步如此简单,毕竟我们只需要会配置,会排查问题,底层具体实现Mysql团队早帮忙实现了。
废话不多说,直入话题:
(1)首先,保证有两台设备(主、从),分别在两台设备上安装Mysql数据库。安装完成之后,
使用mysql -u[数据库用户名] -p[用户密码],若能够登陆mysql则表示安装成功。
(2)编辑mysql配置文件,路径一般为/etc/mysql/mysql.conf.d/mysqld.cnf(用户在安装Mysql时指定的目录,
如:/etc/my.conf等)。分别按要求在主、从mysql中的[mysqld]模块下添加如下内容:
[mysqld]
default-storage-engine=innodb
innodb_file_per_table=1
collation-server=uft8_general_ci
init-connect='SET NAMES uft8'
bind-address=0.0.0.0
log_bin=mysql-bin
relay_log=mysql-relay-bin
expire_logs_days=100
skip-slave-start=1
binlog_do_db=[需要同步的数据库名称]
binlog-ignore-db=mysql,sys,information_schema,performance_schema
server-id=[主填写1,从填写2]
auto-increment-increment=2
auto-increment-offset=1
open_files_limit=65535
mac_connections=1000
slave-skip-errors=all
(3)shell连接主、从服务器,mysql -u[数据库用户名] -p[用户密码],分别登录到主、从节点mysql,创建同步用户repl,执行如下命令:
grant all privileges on *.* to 'repl'@'%' identified by 'repl' with grant option;
然后exit退出Mysql操作页,重新启动Mysql服务,命令如下:
systemctl restart mysql.service
然后进入主节点Mysql,查看Mysql的File列和Positon列。执行命令:show master status;
出现结果如下
(4)登录到从服务器,mysql -u[数据库用户名] -p[用户密码]进入Mysql,执行:
stop slave;
reset slave;
change master to master_host='[主节点IP]',master_user='repl',master_password='repl',master_log_file='[mysql-bin.000001,参考(3)中的File列]',master_log_pos=[245,参考(3)中的Postion列];
exit;
执行systemctl restart mysql.service
重启Mysql服务。
(5)启动从服务器slave库,mysql -u[数据库用户名] -p[用户密码]进入从节点Mysql,执行如下命令:
start slave;
执行:show slave status\G;
查看备份服务状态。如果以下两个状态为Yes则表示主从同步成功。
接下来,大家就可以尝试向主数据库中插入一条数据,看是够从数据库中会自动增加该条数据,是不是有点小激动呢?赶紧测试下吧。
PS:若出现无法同步问题?
(1)请查看上图中Master_Log_File属性、Read_Master_Log_Pos属性与主节点查询结果是否一致。
(2)可能是从数据库连接主数据库超时,去吧连接延时改大一点吧。
(3)如果上述无法解决,请查看mysql日志排查原因。
来源:https://www.cnblogs.com/Mr-zhou/p/11470303.html


猜你喜欢
- 最近在看《Effective Python》,里面提到判断字符串或者集合是否为空的原则,原文如下:Don't check for e
- 在国内利用Python从Internet上爬取数据时,有些网站或API接口被限速或屏蔽,这时使用代理可以加速爬取过程,减少请求失败,Pyth
- 内置模块(一)Python内置的模块有很多,我们也已经接触了不少相关模块,接下来咱们就来做一些汇总和介绍。内置模块有很多 & 模块中
- 前言首先需要知道的是,js中有6个值为false,分别是: 0, '', null, undefined, NaN 和 fa
- 中文分词(Chinese Word Segmentation),将中文语句切割成单独的词组。英文使用空格来分开每个单词的,而中文单独一个汉字
- 当现有video播放器不能满足需求时,需要自己对video进行封装。video事件loadstart: 在视频开始加载时触发,给curren
- 一、数字类型。数字类型按照我的分类方法分为三类:整数类、小数类和数字类。 我所谓的“数字类”,就是指DECIMAL
- 主题色在variables.less文件的开始,可以看到灰色及品牌色的默认变量及其值@gray-darker: lighten(
- 整个数据获取的信息是通过房源平台获取的,通过下载网页元素并进行数据提取分析完成整个过程导入相关的网页下载、数据解析、数据处理库from fa
- JIRA介绍: JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、需求
- 首先,自学Python是能够找到相关工作的。Python语言在近几年的上升趋势非常明显,语言生态也越来越健全,在Web开发、大数据开发、人工
- 目录关于Web服务器和应用服务器Python项目部署架构关于cgi、wsgi、uwsgi、http协议关于cgi、fastcgi、php-f
- 想要实现的功能空列表中添加数原代码:FitnessBest = []FitnessBest = FitnessBest.appe
- 关于oracle 优化的内容很多,概念庞杂,不过可以总结出一个大纲性的东西作为需要考虑的方向,然后再逐步细化。oracle优化按重要性需要考
- 实现效果如下: 需求:由于后台搜索选项有很多,影响页面美观,所以一进来要隐藏一部分搜索项,只保留1行,点击【展开搜索】按钮的时候才
- 在 JavaScript 中,使用字符串连接有 几 种方式:连接符(+)、反引号(`)、join()、concat()。一、使用连接符 &a
- 又一年过去了,JavaScript发生了许多变化。但是,即使是2019年了,还是需要给一些帮助你编写干净、整洁、有效、且具有扩展性的代码建议
- 本文为大家分享了pygame游戏之旅的第9篇,供大家参考,具体内容如下在游戏开始之前定义一个函数,用来显示游戏介绍:def game_int
- 本文实例为大家分享了python将图片转成字符画的具体代码,供大家参考,具体内容如下该代码引用了PIL库的Image,所以必须先安装PIP,
- MySQL里Create Index 能否创建主键 Primary Key? 答案: 不能,必须用 Alter table 创建。 MySQ