版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/limingzhong198/article/details/20578821
————————————————
版权声明:本文为CSDN博主「秋风瑟瑟」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/limingzhong198/article/details/20578821

关于MYSQL主从备份,其实跟MYSQL主主互备的过程类似,最大的区别在主从备份中,主机不能复制从机的数据,所以主机一般用来专注于数据库的业务操作,从机一般用来专注于数据库的查询操作。

下面直接介绍主从配置:

一、主从机环境以及软件版本信息:

1、主机系统:32位Centos 6.3 版本;

两个虚拟机:

主机(master):IP地址: 192.168.31.139;

从机(salver):IP地址: 192.168.31.137;

2、MYSQL版本:mysql-5.5.11版;

3、虚拟机版本:VMware Workstation 9.0.0 build-812388;

4、虚拟机与主机名称和IP地址的设置:http://blog.csdn.net/limingzhong198/article/details/19919761。

二、配置过程:

1、主机master与salver均关闭防火墙iptables,执行service iptables stop命令:

2、设置SELINUX文件的SELINUX=disabled,然后重启reboot如图所示:

vim /etc/sysconfig/selinux

3、在master和salver分别安装MYSQL软件:http://blog.csdn.net/limingzhong198/article/details/19823629:

4、主机(master)配置:

A:在/usr/local/mysql目录下建立MYSQL复制的日志配置文件/usr/local/mysql/mysql-bin.log并赋予权限以及改变文件的所有者:

[root@master mysql] touch mysql-bin.log

[root@master mysql] chmod 755 mysql-bin.log

[root@master mysql] chown -R mysql:mysql .

配置结果如图所示:

B:配置/etc/my.cnf文件:

[root@master mysql] vi /etc/my.cnf

在文件中添加如下属性项:

log-bin = /usr/local/mysql/mysql-bin.log

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

C:启动并登陆MYSQL系统:

[root@master mysql] service mysql start

显示:Starting MySQL.... SUCCESS! 就表明启动成功

[root@master mysql] mysql -u root -padmin

注:-p 表示密码项,后面的'admin'表明root用户的密码是admin

D:在主机master上添加主机salver的同步账号:

mysql> grant replication slave on *.* to'slave'@'192.168.31.137' identified by 'admin';

执行如下命令查看:

select user.host from mysql.user;

可以看见备份账户以及设置完成。下面对数据库表加锁只读。

mysql锁表只读(其他账户登录mysql后无法进行写表操作,防止备份数据库后,主mysql表更新,导致和从数据库内容不一致)

mysql> flush tables with read lock;

E:查看状态:

[root@master mysql] mysql -u root -padmin -e "show master status"

结果如图:

注:File字段的日志名称(mysql-bin.000001)就是从机备份所需要的日志文件。

5、从机(salver)配置:

A:在/usr/local/mysql目录下建立MYSQL复制的日志配置文件/usr/local/mysql/mysql-bin.log并赋予权限以及改变文件的所有者:

注:这一步骤与配置主机(master)完全一样。

B:配置/etc/my.cnf文件:

[root@salver mysql] vi /etc/my.cnf

在文件中添加或修改相应的配置项,如图所示:

注:log-bin被注释是因为主机不需要复制备份从机的数据。

C:启动并登陆MYSQL系统:

注:这一步骤与配置主机(master)完全一样。

D:在MYSQL的SHELL下执行如下图命令:

注:其中change master to master_host='192.168.31.139',

master_user='slave',

master_password='admin',

master_log_file="mysql-bin.000001",

master_log_pos=107 ;

中的master_log_file项就是前面提到的日志复制备份所需的名称。

6、主机(salver)配置:

A:解锁数据库:

mysql> unlock tables;

B:查询数据库状态:

mysql> show slave status \G

结果如图:

注:两台主机均出现如下内容,则主主配置成功:

Slave_IO_State: Waiting for master to send event

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

如果出现Slave_IO_Running: Connecting的情况,则很可能是因为防火墙未关闭的原因。

7、测试过程:

A:在主机上的test数据库中,建立test表,并插入测试数据,在从机上查看是否备份成功;

B:在从机上的test数据库中,在test表插入测试数据,在主机上查看是否备份成功;

C:主机的数据在从机的数据库上备份成功,从机的数据在主机上没有被复制备份,则说明配置成功。

D:主机的数据在从机的数据库上备份成功,从机的数据在主机上也被复制备份,则说明配置失败。

E:主机的数据在从机的数据库上备份失败,则说明配置失败。

CentOS下MYSQL数据库的主从备份配置的更多相关文章

  1. Linux下Mysql数据库互为主从的配置过程

    配置准备: 两台机器:A(193.168.10.101)  B(193.168.10.102) mysql大版本需要一致,小版本可忽略 配置过程: A(193.168.10.101) 机器配置: 执行 ...

  2. CentOS 下Mysql数据库的安装与配置

    一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常 的方便,在Linux上如果要安装数据库, ...

  3. Centos下MongoDB数据库的安装以及配置开机自启动(三)

    最近写了一个用node来操作MongoDB完成增.删.改.查.排序.分页功能的示例,并且已经放在了服务器上地址:http://39.105.32.180:3333. 在服务器上完全可以用yum来安装管 ...

  4. Centos下MySQL数据库主从双向同步配置

    MYSQL支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护日志文件的一个索引以跟踪日志循环.当一个从服务器连接到主服务 ...

  5. [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    from:  http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ...

  6. Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    原文:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...

  7. Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置(转)

    原文地址:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建 ...

  8. Linux学习之CentOS(一)--CentOS6.6下Mysql数据库的安装与配置

    在这里我是通过yum来进行mysql数据库的安装的,通过这种方式进行安装,可以将跟mysql相关的一些服务.jar包都给我们安装好,所以省去了很多不必要的麻烦!!! [root@larry ~]# c ...

  9. Linux学习之CentOS--CentOS6.4下Mysql数据库的安装与配置【转】

      如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--C ...

随机推荐

  1. 日志分析平台ELK之日志收集器logstash

    前文我们聊解了什么是elk,elk中的elasticsearch集群相关组件和集群搭建以及es集群常用接口的说明和使用,回顾请查看考https://www.cnblogs.com/qiuhom-187 ...

  2. 001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学

    001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学 welcome to Java World 欢迎来到Java世界 一起领略Java编程世界的奥秘与奥妙 ...

  3. Visual Studio中Debug与Release以及x86、x64、Any CPU的区别 &&&& VS中Debug与Release、_WIN32与_WIN64的区别

    本以为这些无关紧要的 Debug与Release以及x86.x64.Any CPU 差点搞死人了. 看了以下博文才后怕,难怪我切换了一下模式,程序就pass了.... 转载: 1.https://ww ...

  4. matlab中subplot 在平铺位置创建坐标区

    来源:https://ww2.mathworks.cn/help/matlab/ref/subplot.html?searchHighlight=subplot&s_tid=doc_srcht ...

  5. cmake引入三方库

    目录结构 . |-- cmake | |-- CompilerSettings.cmake | |-- Options.cmake | `-- ProjectJsonCpp.cmake |-- CMa ...

  6. centos8平台php7.4.2安装phpredis实现对redis的访问

    一,下载phpredis 1,官方下载地址: https://github.com/phpredis/phpredis/releases 2,wget下载 [root@yjweb source]# w ...

  7. sql中的Bulk 导入txt文本

    通常,我们会对于一个文本文件数据导入到数据库中,不多说,上代码. 首先,表结构如下.   其次,在我当前D盘中有个文本文件名为2.txt的文件. 在数据库中,可以这样通过一句代码插入. Bulk in ...

  8. html中object标签

    首先将这个强大web页面打印例子(pintTest.html)贴上来. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional ...

  9. 如何对数据进行MD5加密

    前端进行加密 /** * jQuery MD5 hash algorithm function * * <code> * Calculate the md5 hash of a Strin ...

  10. 类型“DbContext”在未引用的程序集中定义。必须添加对程序及“EntityFramework,Version=6.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”的引用。using语句中使用的类型必须可隐式转换为”System.IDisposable

    其他层引用Model层的ef模型时会发生这个错误 解决方法: 在你要使用EF模型的层下点击添加引用 然后点击浏览   找到Model层文件下的bin>debug文件   引用这两个dll文件 如 ...