ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL的主从备份

2020-08-28 07:33:31  阅读:185  来源: 互联网

标签:slave log 备份 MySQL master 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 status\G
*************************** 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表示成功

标签:slave,log,备份,MySQL,master,mysql,服务器,日志,主从
来源: https://www.cnblogs.com/ccku/p/13568193.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有