使用二进制热备份创建MySQL主从复制

搭建环境说明 机器说明 Master 190: 192.168.1.190 (开启binlog, server-id=1)Slave 191: 192.168.1.191Slave 192: 192.168.1

搭建环境说明

机器说明

master 190: 192.168.1.190 (开启binlog, server-id=1)
slave 191: 192.168.1.191
slave 192: 192.168.1.192
以上三台机器都安装了mysql 5.5.29, percona xtrabackup 2.06

基于Master的二进制热备份建立新Slave

在Master 190上创建Slave 191用于MySQL复制的账号mysql> create user ‘newrepl’@’192.168.1.191’ identified by ‘123456’;mysql> grant replication slave on *.* to ‘newrepl’@’192.168.1.191’;mysql> flush privileges;将Master 190的MySQL数据直接远程热备份到Slave 191[root@CentOS190 ~]# innobackupex –user=backup –password=123456 –parallel=4 –stream=tar ./ | ssh root@192.168.1.191 “tar -ixf – -C /var/lib/mysql/data”在Slave 191上应用备份,并对备份数据目录做相应权限设置[root@centos191 ~]# innobackupex –apply-log –use-memory=4G /var/lib/mysql/data[root@centos191 ~]# chown -R mysql:mysql /var/lib/mysql/dataSlave 191上停止MySQL,进行MySQL配置,然后启动MySQL[root@centos191 mysql]# service mysql stop[root@centos191 mysql]# scp root@192.168.1.190:/etc/my.cnf /etc/my.cnf

修改/etc/my.cnf:

…[mysqld]datadir= /var/lib/mysql/dataserver-id= 2 # Master的server-id = 1relay-log= slave-relay-binrelay-log-index= slave-relay-bin.index…

配置完后,启动MySQL:

[root@centos191 mysql]# service mysql startStarting MySQL….[ OK ]建立复制连接开始复制,并检查slave运行状态

查看热备份的binlog文件名和偏移位置信息:

[root@centos191 mysql]# cat /var/lib/mysql/data/xtrabackup_binlog_info master-bin.000005107

建立复制连接并检查是否成功:

mysql> CHANGE MASTER TO-> MASTER_HOST=’192.168.1.190′,-> MASTER_USER=’newrepl’,-> MASTER_PASSWORD=’123456′,-> MASTER_PORT=3306,-> MASTER_LOG_FILE=’master-bin.000005′,-> MASTER_LOG_POS=107;Query OK, 0 rows affected (0.96 sec)mysql> start slave;Query OK, 0 rows affected (0.00 sec)mysql> show global status like ‘Slave_running’;+—————+——-+| Variable_name | Value |+—————+——-+| Slave_running | ON |+—————+——-+1 row in set (0.00 sec)

基于Slave的二进制热备份建立新Slave

在Master 190上创建Slave 192用于MySQL复制的账号[root@centos191 mysql]# mysql -uroot -p -h192.168.1.190…mysql> create user ‘newrepl’@’192.168.1.192’ identified by ‘123456’;mysql> grant replication slave on *.* to ‘newrepl’@’192.168.1.192’;mysql> flush privileges;将Slave 191的MySQL数据直接远程热备份到Slave 192# innobackupex –user=backup –password=123456 –parallel=4 –slave-info –safe-slave-backup –stream=tar ./ | ssh root@192.168.1.192 “tar -ixf – -C /var/lib/mysql/data”

注:这里备份使用–slave-info可以将Master的binary log的文件名和偏移位置记录到xtrabackup_slave_info文件中.而使用–safe-slave-backup会暂停Slave的SQL线程直到备份结束,这样可以确保一致性的复制状态.

在新Slave 192上应用备份,并对备份数据目录做相应权限设置

[root@centos192 ~]# innobackupex –apply-log –use-memory=4G /var/lib/mysql/data
[root@centos192 ~]# chown -R mysql:mysql /var/lib/mysql/data

新Slave 192上停止MySQL,进行MySQL配置,然后启动MySQL[root@centos192 mysql]# service mysql stop[root@centos192 mysql]# scp root@192.168.1.191:/etc/my.cnf /etc/my.cnf

修改/etc/my.cnf:

…[mysqld]server-id = 3skip-slave-start…

启动MySQL:

[root@centos192 mysql]# service mysql startStarting MySQL…[ OK ]建立复制连接开始复制,并检查slave运行状态

查看Slave热备份的binlog文件名和偏移位置信息:

[root@centos192 mysql]# cat /var/lib/mysql/data/xtrabackup_slave_info CHANGE MASTER TO MASTER_LOG_FILE=’master-bin.000005′, MASTER_LOG_POS=614672

建立复制连接并检查是否成功:

mysql> CHANGE MASTER TO-> MASTER_HOST=’192.168.1.190′,-> MASTER_USER=’newrepl’,-> MASTER_PASSWORD=’123456′,-> MASTER_PORT=3306,-> MASTER_LOG_FILE=’master-bin.000005′,-> MASTER_LOG_POS=614672;Query OK, 0 rows affected (0.33 sec)mysql> start slave;Query OK, 0 rows affected (0.00 sec)mysql> show slave status G;…Slave_IO_Running: YesSlave_SQL_Running: Yes …Seconds_Behind_Master: 0 …

修改/etc/my.cnf,注释掉”skip-slave-start”,然后重启MySQL即可.

# sed -i ‘s/skip-slave-start/#skip-slave-start/g’ /etc/my.cnf# service mysql restart

推荐阅读:

Ubuntu下Nginx做负载实现高性能WEB服务器5—MySQL主主同步

生产环境MySQL主主同步主键冲突处理

MySQL主从失败 错误Got fatal error 1236

MySQL主从复制,,单台服务器上实施

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1885953.html

(0)
上一篇 2025年2月22日 12:15:56
下一篇 2025年2月22日 12:16:12

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • MySQL5.6 Replication主从复制(读写分离) 配置完整版

    MySQL5.6 Replication主从复制(读写分离) 配置完整版 mysql5.6主从复制(读写分离)教程 1、MySQL5.6开始主从复制有两种方式: 基于日志(binlog); 基于GTID(全局事务标示符)。 需要注意的是:G…

    数据库 2025年2月23日
    100
  • 超简单的MySQL主从复制

    怎么安装MySQL数据库,这里不说了,只说它的主从复制,步骤如下:1、主从服务器分别作以下操作:1.1、版本一致1.2、初始化表,并 怎么安装MySQL数据库,这里不说了,只说它的主从复制,步骤如下: 1、主从服务器分别作以下操作:  1.…

    数据库 2025年2月22日
    100
  • MySQL主从复制、基于SSL的主从复制、主主复制、半同步复制

    主从复制指有一台器做为主服务器,一台或多台服务器做为从服务器。从服务器不写入任何数据,数据的来源是主服务器。复制的目的是 从服务器可以不用关闭二进制日志,也可以不用开户中继日志,因为服务器会自动帮你开户或关闭。不关闭二进制日志,从主服务器复…

    数据库 2025年2月22日
    100
  • MySQL主从复制中出现的error和解决办法

    MySQL主从复制中出现的error和解决办法,如果日志中出现了这样代码,可能是错误的select,或update操作,master是跳过这些操作,但 slave日志中的错误代码1: 解决办法: 先查看主服务器中对应日志文件是否有此行,使用…

    数据库 2025年2月22日
    100
  • MySQL主从,半同步,主主复制

    我们知道,MySQL数据库的二进制日志记录着每一个明确或者潜在可能导致数据库发生改变的sql语句,因此我们可以基于二进制日志来实 MySQL Replication 我们知道,MySQL数据库的二进制日志记录着每一个明确或者潜在可能导致数据…

    数据库 2025年2月22日
    100
  • MySQL中主从复制延迟问题

    描述msyql replication 机制的实现原理,如何在不停掉mysql主库的情况下,恢复数据不一致的slave的数据库节点?MySQL的复制(rep 面试mysqldba的时候遇到一个题: 描述msyql replication 机…

    数据库 2025年2月22日
    100
  • MySQL5.5各架构复制

    实现主服务器和从服务器之间的数据复制,关于mysql的安装这里不在重复叙述,如有需要可参考其他文档,这里假设两个节点的服务器已 本文档将要介绍的内容:     1、mysql的主从复制的配置    2、配置半同步    3、基于SSL的复制…

    数据库 2025年2月22日
    100
  • 用XtraBackup实现MySQL的主从复制快速部署【主不锁表】

    XtraBackup开源,热备份,不锁表,支持innodb,支持部分数据的备份(比如只备份某数据库中的某个表),高性能,备份时对系统的负 四种常用的mysql备份工具,各有缺点: 0 tar缺点:不支持热备份,要关闭mysqld服务器再进行…

    数据库 2025年2月22日
    100
  • Zabbix监控MySQL主从复制

    zabbix可能监控到mysql服务的运行情况,但确不能监控mysql的主从复制是否正常:有时候,同步已经停止,但管理人员却不知道。登陆 起因:zabbix可能监控到mysql服务的运行情况,但确不能监控mysql的主从复制是否正常:有时候…

    数据库 2025年2月22日
    100
  • master_pos_wait函数与MySQL主从切换

    主从切换是高可用MySQL架构的必要步骤(即使用不发生,也要有备无患)。一般设置为双M(M1、M2),假设当前状态为写M1,而M2只读 背景   主从切换是高可用mysql架构的必要步骤(即使用不发生,也要有备无患)。一般设置为双m(m1、…

    数据库 2025年2月22日
    100

发表回复

登录后才能评论