• MySQL的主从备份


    1.MySQL复制概述

    mysql数据库支持同步复制、单向、异步复制,在复制的过程中一个服务器充当主服务器,而一个或多个服务器充当从服务器。
    主服务器将更新写入二进制日志文件,并维护文件的索引以跟踪日志循环;这些日志可以记录发送到从服务器的更新。

    当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置;从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知新的位置。

    注:当进行复制时,所有对复制中的表的更新必须在主服务器上进行;避免用户对主服务器上的表进行的更新与对从服务器上的表进行的更新之间的冲突。

    2.MySQL数据复制的原理(3个进程)

    MySQL复制基于主服务器在二进制日志bin-log中跟踪所有对数据的更改;因此,复制必须在主服务器上启用二进制日志,每个从服务器接收主服务器已经记录到中继日志relay-log保存的更新,以便从服务器可以对其数据拷贝执行相同的更新。

    3.Linux下MySQL主从备份实验(单向备份)

    环境准备:
    centos6.0 64位
    master:10.0.0.101
    slave:10.0.0.102

    (1)主服务器配置:

    #vim /etc/my.cnf
    #在[mysqld]标签下添加:
    log-bin=mysql-bin      #开启binlog日志
    server-id=1            #为当前节点设置一个全局唯一的ID号
    #重启数据库
    service mysqld restart
    #创建具有复制权限的数据库账号
    mysql> grant replication slave on *.* to 'slave'@'%' identified by '123456';
    mysql> flush privileges;
    
    #查看当前的bin-log日志和日志位置
    mysql> show master statusG
    *************************** 1. row ***************************
                File: mysql-bin.000027
            Position: 8442935
        Binlog_Do_DB: 
    Binlog_Ignore_DB: 
    1 row in set (0.00 sec)
    

    (2)从服务器配置

    #vim /etc/my.cnf
    #在[mysqld]标签下添加:
    log-bin=mysql-bin      #开启binlog日志
    server-id=2            #为当前节点设置一个全局唯一的ID号
    #重启数据库
    service mysqld restart
    
    mysql> change master to master_host='10.0.0.101',
        -> master_user='slave',
        -> master_password='123456',
        -> master_log_file='mysql-bin.000027',
        -> master_log_pos=8442935;
    
    mysql> start slave;
    
    mysql> show slave status G
    *************************** 1. row ***************************
                   Slave_IO_State: Waiting for master to send event
                      Master_Host: 10.0.0.101
                      Master_User: slave
                      Master_Port: 3306
                    Connect_Retry: 60
                  Master_Log_File: mysql-bin.000027
              Read_Master_Log_Pos: 8442935
                   Relay_Log_File: lfs-relay-bin.000002
                    Relay_Log_Pos: 253
            Relay_Master_Log_File: mysql-bin.000027
                 Slave_IO_Running: Yes
                Slave_SQL_Running: Yes
    #Slave_IO_Running和Slave_SQL_Running都为Yes表示成功
    
    作者:ccku
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题或建议,请多多赐教,非常感谢。
  • 相关阅读:
    JDBC中DAO+service设计思想
    Ajax的简单基础
    Ajax的简单基础
    Jquery选择器总结二
    Jquery选择器总结二
    Jquery选择器总结一
    Jquery选择器总结一
    amazon的新算法《大数据时代:亚马逊“预判发货”,顾客未动包裹先行》
    wget命令检测端口是否监听
    KUNG FU PANDA
  • 原文地址:https://www.cnblogs.com/ccku/p/13568193.html
Copyright © 2020-2023  润新知