CentOS下MYSQL数据库的主从备份配置
版权声明:本文为博主原创文章,遵循 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数据库的主从备份配置的更多相关文章
- Linux下Mysql数据库互为主从的配置过程
配置准备: 两台机器:A(193.168.10.101) B(193.168.10.102) mysql大版本需要一致,小版本可忽略 配置过程: A(193.168.10.101) 机器配置: 执行 ...
- CentOS 下Mysql数据库的安装与配置
一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常 的方便,在Linux上如果要安装数据库, ...
- Centos下MongoDB数据库的安装以及配置开机自启动(三)
最近写了一个用node来操作MongoDB完成增.删.改.查.排序.分页功能的示例,并且已经放在了服务器上地址:http://39.105.32.180:3333. 在服务器上完全可以用yum来安装管 ...
- Centos下MySQL数据库主从双向同步配置
MYSQL支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护日志文件的一个索引以跟踪日志循环.当一个从服务器连接到主服务 ...
- [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
from: http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ...
- Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
原文:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...
- Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置(转)
原文地址:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建 ...
- Linux学习之CentOS(一)--CentOS6.6下Mysql数据库的安装与配置
在这里我是通过yum来进行mysql数据库的安装的,通过这种方式进行安装,可以将跟mysql相关的一些服务.jar包都给我们安装好,所以省去了很多不必要的麻烦!!! [root@larry ~]# c ...
- Linux学习之CentOS--CentOS6.4下Mysql数据库的安装与配置【转】
如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--C ...
随机推荐
- Java知识系统回顾整理01基础05控制流程01if
一.if if(表达式1){ 表达式2: } 如果表达式1的值是true, 就执行表达式2 public class HelloWorld { public static void main(Stri ...
- 【漏洞复现】S2-052 (CVE-2017-9805)
一.漏洞描述 Struts2 的REST插件,如果带有XStream组件,那么在进行反序列化XML请求时,存在未对数据内容进行有效验证的安全隐患,可能发生远程命令执行. 二.受影响版本 Struts2 ...
- 下载、安装 PL/SQL Developer
操作系统:Windows 10 x64 第一节:下载 Oracle Database XE 11gR2 第二节:安装.验证安装 Oracle Database XE 11gR2 第三节:Oracle ...
- linux下各种骚操作
(备注:不定时更新) 1. ctrl+l 清屏快捷键,相当于clear 2. !+命令开头部分 执行最近执行的此条命令 ### 如!vi 编辑上一次用vi打开的文件, 3. echo $$ ...
- 编程体系结构(06):Java面向对象
本文源码:GitHub·点这里 || GitEE·点这里 一.基础概念 1.面向对象概念 面向对象编程的主要思想是把构成问题的各个事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙一 ...
- IntelliJ IDEA 调试 Java 8 Stream,实在太香了!
前段时间,栈长发布了一篇关于 Java 8 Optional.map 的实用文章,留言区就有的人说 Java 8 的语法糖不方便调试,还要视情况使用. 留言区也有人说 IntelliJ IDEA 早已 ...
- JavaScript封装函数:获取下一个/上一个兄弟元素节点
要求: 获得下一个/上一个兄弟元素节点,不包括文本节点等 解决IE兼容性问题 代码实现: 获得下一个兄弟元素节点: function getNextElement(element) { var el ...
- 轻轻松松学CSS:Grid布局
网页布局总的来说经历了以下四个阶段: 1.古老的table表格布局,现在基本已被淘汰. 2.float浮动布局(或者position定位布局),借助float.position 等属性等进行布局,这种 ...
- CN1,CN2 GT和CN2 GIA的区别
用一句话来概括,CN1主要定位于承载普通质量的互联网业务,而CN2则定位于承载企业VPN业务.中国电信的自营业务及高质量的互联网业务,CN2 GIA又比GT要好一些. 顺序:CN2 GIA>CN ...
- shell-的变量-全局变量
shell变量基础及深入 1. 变量类型 变量可分为两类:环境变量(全局变量)和局部变量. 环境变量也可称为全局变量,可以在创建他们的shell及其派生出来的任意子进程shell中使用.局部变量只 ...