mysql主从复制时间配置_MySQL主从复制配置

环境

CentOS 7.5

Docker 1.13.1

MySQL 8.0.16

基于以上环境启动三个mysql容器,一个为master,二个为slave

master和slave使用的mysql版本是完全一致的,未测试不同版本的mysql

配置master

编辑配置文件

编辑master的配置文件my.cnf

$ vim /usr/mysql/conf/my.cnf

在[mysqld]下添加如下内容:

## 同一局域网内要注意唯一(一般设置为ip地址最后一位)

server-id=100

## 开启二进制日志功能,名字可以随便取

log-bin=mysql-bin

重启master容器

保存配置文件后,重新启动master容器

$ docker restart 容器名称/容器ID

创建同步用户并授权

进入master容器

$ docker exec -it mysql-master bash

创建同步用户并授权

$ mysql > CREATE USER 'slave'@'%' IDENTIFIED BY '123456';

$ mysql> ALTER USER 'slave'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

$ mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

$ mysql> flush privileges;

配置slave

修改配置文件

与master一样,修改slave的配置文件my.cnf,在[mysqld]下添加以下内容

server-id = 102

log-bin=mysql-slave-bin

## relay_log配置中继日志,日志名字可以随便取

relay_log=edu-mysql-relay-bin

重启slave容器

$ docker restart 容器名称/容器ID

按照以上步骤操作另外一个slave容器

链接master和slave

查询master状态,并记录必要参数

进入master容器

$ docker exec -it mysql-master bash

进入mysql

$ mysql -uroot -p

查询master状态

# mysql > show master status;

查询结果如下所示

4de05e9367ab46cabdddd4d83b69fab3.png

记录File字段和Position字段的值,后面会使用到。

连接master和slave

进入slave容器中,进入mysql后,执行下面所述的命令

mysql > change master to master_host='master Ip地址', master_user='slave', master_password='1234', master_port=3306,

master_log_file='mysql-bin.000001', master_log_pos= 720, master_connect_retry=30;

参数解释:

master_host : master容器所在的宿主机ip地址

master_user :同步用户,前面在master中创建的用户

master_password : 同步用户密码,前面在master中创建的用户密码

master_port : master数据库端口号

master_log_file : master数据库日志文件,前面查询master状态时记录的参数值

master_log_pos : master日志文件位置,前面查询master状态时记录的参数值

master_connect_retry : master和slave连接重试时间

启动slave

在slave节点上执行以下命令启动slave

$ mysql > start slave;

在slave上查看主从状态

$ mysql > show slave status \G;

查询结果如下所示:

16a1038c9bd0b282294dad545dad6915.png

如上述图中所示,如果Slave_IO_Running和Slave_SQL_Running的值都是Yes,那么说明主从配置成功。

异常情况处理

如果查询slave状态时,Slave_IO_Running和Slave_SQL_Running的值出现不是Yes的情况,可以通过查看下图所示的参数的值来确认异常原因

1e9ee2c3e7f25b097097bbe9db111d89.png

正常情况下Slave_SQL_Running_State的值如上图所示,异常情况下,该参数的值会显示异常原因,此时只需要根据异常提示去处理问题即可。

在处理异常问题时,需要先停止主从,在从节点上执行下面的命令

$ mysql > stop slave;

问题处理完后,重新启动主从

$ mysql > start slave;

验证

主从配置成功后,此时去操作主库,例如创建表,新增删除数据等,可以看到从库中进行了同样的操作。

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

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

相关文章

告别异步代码

Quasar是一个向JVM添加真正的轻量级线程(纤维)的库。 它们非常便宜且非常快-实际上,光纤的行为就像Erlang进程或Go goroutines-并允许您编写简单的阻塞代码,同时享受与复杂异步代码相同的性能优势。 在本文中,我们将学…

如何利用多核CPU来加速你的Linux命令

如何利用多核CPU来加速你的Linux命令 原文出处: rankfocus 译文出处: 外刊IT评论 你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并行的操作。数据专家们,我是在对你们说…

魔术二传手反模式

设置者和获取者是邪恶的。 创建JavaBean定义时,这似乎是个好主意。 但是它们对Java社区造成了很大的伤害。 通常不如null指针那么多,但足够了。 首先,许多初级人员认为实现setter和getter(嘿,在Eclispe中只需单击几下…

sqlwarning mysql_mysql提示[Warning] Invalid (old?) table or database name问题的解决方法

DROP TABLE IF EXISTS [TEMP_TABLE_NAME];create temporary table [TEMP_TABLE_NAME] select col1,col2,... from [TABLE_NAME];alter table [TEMP_TABLE_NAME] add unique idx_col1(col1);经过以上操作中,多次出现该warning问题。通过查询和跟踪调试源码&#xff0…

C语言操作符优先级

转自:http://www.cnblogs.com/xiehy/archive/2010/02/04/1663825.html 优先级 运算符 含 义 要求运算 对象的个数 结合方向 1 () [] -> . 圆括号 下标运算符 指向结构体成员运算符 结构体成员运算符 自左至右 2 ! 逻辑非运算符 1 (单目运算符)…

linux mysql select_MySQL-Select语句高级应用

阅读目录1.1 SELECT高级应用1.2 select中where子句使用1.3 select中ORDER BY子句1.4 LIMIT子句1.5 多表连接查询1.6 Informatica_schema获取元数据1.7 参考文献1.1 SELECT高级应用1.1.1 前期准备工作本次测试使用的是world数据库,由MySQL官方提供下载地址&#xff1…

为AWT的机器人创建DSL

Java SDK附带了java.awt.Robot类,该类允许键盘和鼠标输入的自动化以及屏幕捕获的创建。 如果您想编写一个模拟用户输入的小型测试应用程序,或者只想自动化一些重复文本的输入,则此功能非常有用。 但是您不想每次都编写一个完整的Java应用程序…

Win7下硬盘安装Redhat双系统

Win7下硬盘安装Redhat Linux 形成双系统过程详解 需要软件 EasyBCD2.0 和 linux ISO 系统镜像 RedHat linux下载地址:http://www.linuxidc.com/Linux/2013-01/78017.htm 安装前准备工作: 1 一个 Windows 盘 D E F 任选其一都可以,将其格式化为FAT32 格式…

java rmi漏洞工具_学生会私房菜【20200924】Weblogic WLS核心组件反序列化命令执行突破(CVE20182628)漏洞复现...

学生会私房菜学生会私房菜是通过学生会信箱收集同学们的来稿,挑选其中的优质文档,不定期进行文档推送的主题。本期文档内容为:Weblogic WLS核心组件反序列化命令执行突破(CVE-2018-2628)漏洞复现》作者介绍:ChowChow,一…

Java泛型中的多态

从作为Java程序员的早期开始,我们都知道如何实例化和使用Collection对象。 实例化为具体类的List接口将如下所示。 List myArrayList new ArrayList();如果myArrayList应该仅保存Integer对象,则从Java 5编译器开始,按照Java Generics规范…

ASP.NET伪静态-无法读取配置文件,因为它超过了最大文件大小的解决办法

一直都在使用微软URLRewriter,具体的使用方法我就不多说了,网上文章很多。 但最近遇到一个问题,就是当web.config文件里面设置伪静态规则过多,大于2M的时候,就报错:无法读取配置文件,因为它超过…

java定义list_我的Java Web之路59 - Java中的泛型

本系列文章旨在记录和总结自己在Java Web开发之路上的知识点、经验、问题和思考,希望能帮助更多(Java)码农和想成为(Java)码农的人。目录介绍再谈Java中的类型为什么需要泛型?Java中的泛型泛型类型泛型方法总结介绍还记得我在这篇文章(我的Java Web之路3…

Spring查找方法示例

当一个bean依赖于另一个bean时,我们使用setter属性或通过构造函数注入bean。 getter方法将向我们返回已设置的引用,但是假设您每次调用getter方法时都想要一个依赖bean的新实例,那么您可能将不得不采用另一种方法。 在本文中,我…

mysql判断数字的函数_Mysql必读MySql判断汉字、日期、数字的具体函数

《Mysql必读MySql判断汉字、日期、数字的具体函数》要点:本文介绍了Mysql必读MySql判断汉字、日期、数字的具体函数,希望对您有用。如果有疑问,可以联系我们。MYSQL学习几个平常用的mysql函数,MySql判断汉字、日期、数字的具体函数分享给大家…

编码:可视化位图

在过去的一个月左右的时间里,我每天花费一些时间来阅读Neo4j代码库的新部分,以使其更加熟悉,而我最喜欢的类之一是Bits类,该类可以完成所有底层工作,并且到磁盘。 特别是,我喜欢它的toString方法&#xff…

通过更改透明度使图片为透明

使用AlphaBlend函数 函数功能 该函数用来显示具有指定透明度的图像。函数原型 AlphaBlend(HDC hdcDest,int nXOriginDest,int nYOriginDest,int nWidthDest,int hHeightDest,HDC hdcSrc,int nXOriginSrc,int nYOriginSrc,int nWidthSrc,int nHeightSrc,BLENDFUNCTION blendFunc…

(转)CocoaPods:管理Objective-c 程序中各种第三方开源库关联

在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中。 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦。有没有什么办法可以简化对第三方库的管理呢&…

为什么子进程每次执行顺序不一样_看完这篇还不懂Redis的RDB持久化,你来打我...

推荐观看:Redis缓存穿透的终极解决方案,手写布隆过滤器_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.comP8架构师串讲:Redis,zookeeper,kafka,Nginx等技术_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​w…

Spring XD用于数据提取

Spring XD是一个功能强大的工具,它是一组可安装的Spring Boot服务,可以独立运行,在YARN或EC2之上运行。 Spring XD还包括一个管理UI网站和一个用于作业和流管理的命令行工具。 Spring XD是一组功能强大的服务,可与各种数据源一起使…

JDK 9 REPL:入门

会议是聚会Java名人的好地方。 Devoxx France是与Java语言架构师,前同事和老朋友Brian Goetz( briangoetz )见面的一个机会。 我们谈论了JDK 9,而他全都热衷于REPL。 他提到,尽管Java SE 9中有很多重要功能 &#xff0…