操作系统:centos7

服务器:主:172.19.242.69   从:172.19.242.70

1. 服务器

由于Mysql不同版本之间的(二进制日志)binlog格式可能会不太一样,因此最好的搭配组合是主(Master)服务器的Mysql版本和从(Slave)服务器版本相同或者更低,主服务器的版本肯定不能高于从服务器版本。

本次我用于测试的两台服务器版本都是Mysql-5.6.40

2. 建立主-从服务器双机热备配置步骤

2.1环境描述

A服务器(主服务器Master):172.19.242.69

B服务器(从服务器Slave):172.19.242.70

主从服务器的Mysql版本皆为5.6.140

Linux环境下

将主服务器需要同步的数据库内容进行备份一份,上传到从服务器上,保证始初时两服务器中数据库内容一致。

2.2 主服务器Master配置

2.2.1 创建同步用户

进入mysql操作界面,在主服务器上为从服务器建立一个连接帐户,该帐户必须授予REPLICATION SLAVE权限。

操作指令如下:

mysql> grant replication slave on *.* to 'replicate'@'172.19.242.69' identified by '123456';

mysql> flush privileges;

创建好同步连接帐户后,我们可以通过在从服务器(Slave)上用replicate帐户对主服务器(Master)数据库进行访问下,看下是否能连接成功。

在从服务器(Slave)上输入如下指令:

[root@YD146 ~]# mysql -h 172.19.242.69 -u replicate -p 123456

如果能登录成功,说明可以对这两台服务器进行双机热备。

2.2.2 修改mysql配置文件

my.cnf配置文件目录为/etc/my.cnf

找到配置文件my.cnf打开后,在[mysqld]下修改即可:

[mysqld]

server-id = 1

log-bin=mysql-bin                //其中这两行是本来就有的,可以不用动,添加下面两行即可

binlog-do-db = test

binlog-ignore-db = mysql

2.2.3 重启mysql服务

修改完配置文件后,保存后,重启一下mysql服务,如果成功则没问题。

2.2.4 查看主服务器状态

进入mysql服务后,可通过指令查看Master状态,输入如下指令:

注意看里面的参数,特别前面两个File和Position,在从服务器(Slave)配置主从关系会有用到的。

注:这里使用了锁表,目的是为了产生环境中不让进新的数据,好让从服务器定位同步位置,初次同步完成后,记得解锁。

2.3 从服务器Slave配置

2.3.1修改配置文件

因为这里面是以主-从方式实现mysql双机热备的,所以在从服务器就不用在建立同步帐户了,直接打开配置文件my.cnf进行修改即可,道理还是同修改主服务器上的一样,只不过需要修改的参数不一样而已。如下:

[mysqld]

server-id = 2

log-bin=mysql-bin

replicate-do-db = test

replicate-ignore-db = mysql,information_schema,performance_schema

2.3.2重启mysql服务

修改完配置文件后,保存后,重启一下mysql服务,如果成功则没问题。


 2.3.3用change mster 语句指定同步位置

这步是最关键的一步了,在进入mysql操作界面后,输入如下指令:

mysql>stop slave;          //先停步slave服务线程,这个是很重要的,如果不这样做会造成以下操作不成功。

mysql>change master to master_host='172.19.242.69',master_user='replicate',master_password='123456',master_log_file=' mysql-bin.000016 ',master_log_pos=107;

注:master_log_file, master_log_pos由主服务器(Master)查出的状态值中确定。也就是刚才show master status出来的file和position的值。master_log_file对应File, master_log_pos对应Position。

如果按上面步骤之后还出现如下情况:


 则要重新设置slave。指令如下

mysql>stop slave;

mysql>reset slave;

之后停止slave线程重新开始。成功后,则可以开启slave线程了。

mysql>start slave;

2.3.4查看从服务器(Slave)状态

用如下指令进行查看

mysql> show slave status\G;

查看下面两项值均为Yes,即表示设置从服务器成功。

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

2.4 测试同步

在Master服务器上进行插入的数据在Slave服务器可以查到,就表示双机热备配置成功了

##########################################

Centos7 Mysql主从双机热备的实战记录的更多相关文章

  1. Nginx+keepalived 脚本安装主从双机热备自动切换解决方案

    Nginx+keepalived 脚本安装主从双机热备自动切换解决方案 2013-07-02 19:24:13 标签:filesnginx keepalived 原创作品,允许转载,转载时请务必以超链 ...

  2. MySQL数据库双机热备------主-主备份配置

    MySQL数据库双机热备------主-主备份配置 实验环境: 主1数据库 192.168.1.1 centos6.5 x86_64 +MySQL5.5.35 主2数据库192.168.1.2  Wi ...

  3. nginx+keepalive主从双机热备+自动切换解决方案

    环境采集cenots 6.3 64位迷你安装,因为安装前,你需要做一些工作 yum install -y make wget 如果你愿意可以更新下系统,更换下yum源. 1.安装keepalive 官 ...

  4. Keepalived+Nginx提供前端负载均衡+主从双机热备+自动切换

    原文链接:http://unun.in/linux/156.html 方案: 采用两台Nginx服务器作为前端,提供静态web内容,分发web请求,一主一从,Keepalived实现状态监测,保证 N ...

  5. Nginx+Keepalived主从双机热备+自动切换

    1 安装配置nginx 参考: http://www.cnblogs.com/jager/p/4388202.html 2 安装配置keepalived tar xvf keepalived-1.2. ...

  6. 搭建Mysql双机热备 (主从同步)

    准备两台centos7主机:10.0.18.132 master 10.0.18.136  slave 先把selinux关闭,iptables关闭  或者添加端口 132 master安装好Mysq ...

  7. Mysql双机热备配置(超详细多图版)

    一.双击热备介绍 1.基本概念 双机热备特指基于高可用系统中的两台服务器的热备(或高可用),双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active- ...

  8. MySQL数据库配置主从服务器实现双机热备

    转自:http://www.cnblogs.com/cchun/p/3712637.html 一.安装MySQL 说明:在两台MySQL服务器192.168.21.169和192.168.21.168 ...

  9. Centos7 Mysql 双机热备实现数据库高可用

    mysql双主热备,也称主主互备,目的是mysql数据库高可用,只支持双机,原因是mysql的复制是一主多从,但一个从服务器只能有一个主服务器. 双机热备的条件是双机mysql版本必须一致. 服务器分 ...

随机推荐

  1. odoo controller 继承

    方式一: 继承基类,直接重写方法 from odoo.addons.web.controllers.main import Export class PsExport(Export): @http.r ...

  2. 修改IP地址之后认证信息问题

    $ ssh lvph@172.16.20.20 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOT ...

  3. Sqlserver (转载)事物与锁

    1   概述 本篇文章简要对事物与锁的分析比较详细,因此就转载了. 2   具体内容 并发可以定义为多个进程同时访问或修改共享数据的能力.处于活动状态而互不干涉的并发用户进程的数量越多,数据库系统的并 ...

  4. [转帖]dfs和bfs

    dfs和bfs https://www.cnblogs.com/wzl19981116/p/9397203.html 1.dfs(深度优先搜索)是两个搜索中先理解并使用的,其实就是暴力把所有的路径都搜 ...

  5. JPA中JpaRepository的使用

    JAP中JpaRepository的使用方法 转载:https://www.cnblogs.com/amberbar/p/10261599.html转载:https://www.cnblogs.com ...

  6. celery 分布式异步任务框架(celery简单使用、celery多任务结构、celery定时任务、celery计划任务、celery在Django项目中使用Python脚本调用Django环境)

    一.celery简介: Celery 是一个强大的 分布式任务队列 的 异步处理框架,它可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行.我们通常使用它来实现异步任务(async tas ...

  7. ubuntu安装shadow socks-qt5

    Ubuntu16安装shadow socks-qt5 在Ubuntu下也是有GUI客户端,怎么安装请看下面: 首先,针对Ubuntu16的版本可以直接这么安装: .$ sudo add-apt-rep ...

  8. ElasticSearch监控工具 - cerebro

    官方地址:https://github.com/lmenezes/cerebro 需要有java环境 下载地址:https://github.com/lmenezes/cerebro/releases ...

  9. 【转载】C#中List集合使用GetRange方法获取指定索引范围内的所有值

    在C#的List集合中有时候需要获取指定索引位置范围的元素对象来组成一个新的List集合,此时就可使用到List集合的扩展方法GetRange方法,GetRange方法专门用于获取List集合指定范围 ...

  10. JavaWeb 之 Filter:过滤器

    一.Filter 概述 1.概念 web 中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能. 2.作用 一般用于完成通用的操作.如:登录验证.统一编码处理.敏感字符等功能 ...