zoukankan      html  css  js  c++  java
  • 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:主机的数据在从机的数据库上备份失败,则说明配置失败。

  • 相关阅读:
    20145318 《信息安全系统设计基础》第6.5周学习总结
    20145318 《信息安全系统设计基础》第6周学习总结
    20145318 《信息安全系统设计基础》第5.5周学习总结
    20145318 《信息安全系统设计基础》第5周学习总结
    20145318 《信息安全系统设计基础》第3周学习总结
    20145318 《信息安全系统设计基础》第2周学习总结
    20145318 《信息安全系统设计基础》第1周学习总结
    20145318 《信息安全系统设计基础》第0周学习总结
    20145318赵一Java课程总结
    20145317《信息安全系统设计基础》第10周学习总结2
  • 原文地址:https://www.cnblogs.com/shigfdengys/p/mysql.html
Copyright © 2011-2022 走看看