• 采用xtrabackup部署主从同步(生产)


    环境:

    OS:Centos 7

    DB:5.7.33

     

    1.1 从库安装mysql

    在从库上部署mysql,配置参数跟主库保持一致

     

    1.2 安装xtrabackup

    可以到官网下载安装介质

    percona-xtrabackup-2.4.7-Linux-x86_64.tar.gz

     主从库上都需要进行安装

    解压安装

    [root@localhost soft]# tar -xvf percona-xtrabackup-2.4.7-Linux-x86_64.tar.gz

    [root@localhost soft]# mv percona-xtrabackup-2.4.7-Linux-x86_64 /opt/xtrabackup247

     

     

    1.3 主库创建同步账号

     

    grant replication slave, replication client on *.*  to 'ureplsync'@'192.168.1.%' identified by 'mysql';

     

    1.4 备份主库

     

     [root@host01 bin]# /opt/xtrabackup247/bin/innobackupex --defaults-file=/opt/mysql5733/conf/my.cnf --user=root --password=mysql -P13306 --socket=/opt/mysql5733/mysql.sock /opt/xtrabackup_file

     

    这里的文件存储路径/opt/xtrabackup_file需要提前创建好,备份完成后,会有ok的提示

    210410 09:15:53 Executing UNLOCK TABLES

    210410 09:15:53 All tables unlocked

    210410 09:15:53 [00] Copying ib_buffer_pool to /opt/xtrabackup_file/2021-04-10_09-15-22/ib_buffer_pool

    210410 09:15:53 [00]        ...done

    210410 09:15:53 Backup created in directory '/opt/xtrabackup_file/2021-04-10_09-15-22/'

    MySQL binlog position: filename 'binlog.000004', position '1214', GTID of the last change 'fbf83c6c-9836-11eb-8ec4-52540051cd25:1-35'

    210410 09:15:53 [00] Writing backup-my.cnf

    210410 09:15:53 [00]        ...done

    210410 09:15:53 [00] Writing xtrabackup_info

    210410 09:15:53 [00]        ...done

    xtrabackup: Transaction log of lsn (2798648) to (2798657) was copied.

    210410 09:15:53 completed OK!

     

    查看备份文件目录

    [root@localhost xtrabackup_file]# ls -1 /opt/xtrabackup_file

    2021-04-10_09-15-22

     

    我们将该目录打包,传送到目标的机器上

    [root@localhost xtrabackup_file]# tar -cvf 2021-04-10_09-15-22.tar ./2021-04-10_09-15-22

     [root@localhost xtrabackup_file]#scp 2021-04-10_09-15-22.tar root@目标机器ip:/tmp/

     

    1.5 备库恢复

     

    1.5.1     从库tar文件解压缩

    [root@localhost xtrabackup_file]# cd /tmp/

    [root@localhost tmp]# tar -xvf 2021-04-10_09-15-22.tar

     

     

    1.5.2     停掉备库(之前有主备环境的情况下)

    [root@localhost mysql5733_slave]# /opt/mysql5733_slave/bin/mysqladmin -h localhost -uroot -P23306 -pmysql -S /opt/mysql5733_slave/mysql.sock shutdown

     

    1.5.3     备份data目录并创建新的data目录

    [root@localhost mysql5733_slave]#cd /opt/mysql5733_slave

    [root@localhost mysql5733_slave]# mv data bakdata

    同时创建新的目录

    [root@localhost mysql5733_slave]# mkdir data

     

    1.5.4     删除redolog(看实际需要)

    redo路径不是在data目录下才需要这步骤,可以查看备库参数innodb_log_group_home_dir

    [root@localhost mysql5733_slave]# cd redolog

    [root@localhost mysql5733_slave]# ls

    ib_logfile0  ib_logfile1  ib_logfile2  ib_logfile3  ib_logfile4

    [root@localhost mysql5733_slave]# rm *

    rm: remove regular file ‘ib_logfile0’? y

    rm: remove regular file ‘ib_logfile1’? y

    rm: remove regular file ‘ib_logfile2’? y

    rm: remove regular file ‘ib_logfile3’? y

    rm: remove regular file ‘ib_logfile4’? y

      

    1.5.5     恢复(备库也事先安装好xtrabackup软件)

     [root@localhost ]# /opt/xtrabackup247/bin/innobackupex --defaults-file=/opt/mysql5733_slave/conf/my.cnf --user=root --apply-log /tmp/2021-04-10_09-15-22

     完成后会有ok提示

     [root@localhost]# /opt/xtrabackup247/bin/innobackupex --defaults-file=/opt/mysql5733_slave/conf/my.cnf --user=root --copy-back --rsync /tmp/2021-04-10_09-15-22

     完成后会有ok提示

     

    1.5.6     修改权限

    [root@localhost /]# cd /opt/

    [root@localhost opt]# chown -R mysql:mysql ./mysql5733_slave

     

    1.5.7     启动从库

     [root@localhost opt]# su - mysql

    [mysql@localhost ~]$ /opt/mysql5733_slave/bin/mysqld_safe --defaults-file=/opt/mysql5733_slave/conf/my.cnf --user=mysql &

     

    1.6 主从同步

     

    1.6.1     主库上创建同步账号(若已经创建则省略)

    grant replication slave, replication client on *.*  to 'ureplsync'@'192.168.1.%' identified by 'mysql';

     

     

    1.6.2     从库部署同步

    change master to master_host='192.168.1.135',

           master_port=13306,

           master_user='ureplsync',

           master_password='mysql',

           master_log_file='binlog.000004',

           master_log_pos=1214;

     

    找到主从同步的参数值

    master_log_file和master_log_pos

    这两个参数可以在xtrabackup备份目录下的文件中查找到

    [root@localhost 2021-04-10_09-15-22]# more xtrabackup_binlog_info

    binlog.000004   1214    fbf83c6c-9836-11eb-8ec4-52540051cd25:1-35

     

    1.6.3     启动从库

    mysql> start slave;

    Query OK, 0 rows affected (0.02 sec)

     

    1.6.4     查看同步情况

    show slave status G;

  • 相关阅读:
    _bzoj1061 [Noi2008]志愿者招募【最小费用最大流】
    _bzoj2243 [SDOI2011]染色【树链剖分】
    _bzoj1013 [JSOI2008]球形空间产生器sphere【高斯消元】
    _bzoj1002 [FJOI2007]轮状病毒【瞎搞】
    leetcode 273 Integer to English Words
    leetcode 12 Integer to Roman
    leetcode 1071 Greatest Common Divisor of Strings
    lc6 ZigZag Conversion
    lc13 Roman to Integer
    leetcode 171 Excel Sheet Column Number
  • 原文地址:https://www.cnblogs.com/hxlasky/p/14639734.html
Copyright © 2020-2023  润新知