zoukankan      html  css  js  c++  java
  • 采用xtrabackup部署主从同步

    1.停掉从库192.168.1.23
    [root@dev-env23 tmp]# service mysqld stop
    Stopping mysqld: [ OK ]

    2.主库全备份
    cd /opt/xtrabackup247/bin
    ./innobackupex --defaults-file=/etc/my.cnf --user=root --socket=/var/lib/mysql/mysql.sock --password=yeemiao1117 -P3306 /opt/xtrabackup_file/
    备份完成后会有提示ok,如下:
    190124 10:50:07 Executing UNLOCK TABLES
    190124 10:50:07 All tables unlocked
    190124 10:50:07 Backup created in directory '/opt/xtrabackup_file/2019-01-24_10-46-06/'
    MySQL binlog position: filename 'binlog.000011', position '587445616'
    190124 10:50:07 [00] Writing backup-my.cnf
    190124 10:50:07 [00] ...done
    190124 10:50:07 [00] Writing xtrabackup_info
    190124 10:50:07 [00] ...done
    xtrabackup: Transaction log of lsn (296778142671) to (296778142701) was copied.
    190124 10:50:07 completed OK!

    完成备份后会以日期生成备份目录,我们把该目录tar并scp到远程备份服务器
    [root@dev-env-22 xtrabackup_file]# tar -cvf /home/xtrabackup0124.tar ./2019-01-24_10-46-06/
    [root@dev-env-22 home]# scp xtrabackup0124.tar root@192.168.1.23:/home/

    ----------------------------备库恢复------------------------
    1.备库解压缩
    [root@dev-env23 home]# cd /home
    [root@dev-env23 home]# tar -xvf xtrabackup0124.tar

    2.清空原来的数据文件目录和日志目录
    查看/etc/my.cnf配置文件找到数据文件目录

    datadir=/home/mysql/data
    relay_log=/home/mysql/logs/relay-bin

    我这里是采用重建目录的方式
    [root@dev-env23 mysql]# mv data bakdata
    [root@dev-env23 mysql]# mkdir data
    [root@dev-env23 mysql]# mv logs baklogs
    [root@dev-env23 mysql]# mkdir logs

    3.恢复(备库也事先安装好xtrabackup软件)
    cd /opt/xtrabackup247/bin
    ./innobackupex --defaults-file=/etc/my.cnf --user=root --apply-log /home/2019-01-24_10-46-06
    这步完成后也有ok提示
    xtrabackup: starting shutdown with innodb_fast_shutdown = 1
    InnoDB: FTS optimize thread exiting.
    InnoDB: Starting shutdown...
    InnoDB: Shutdown completed; log sequence number 296778145738
    190124 11:08:12 completed OK!


    ./innobackupex --defaults-file=/etc/my.cnf --user=root --copy-back --rsync /home/2019-01-24_10-46-06
    完成后有ok提示
    190124 11:11:58 [01] ...done
    190124 11:11:58 completed OK!


    4.修改权限
    [root@dev-env23 mysql]#cd /home/mysql
    [root@dev-env23 mysql]#chown -R mysql:mysql ./data
    [root@dev-env23 mysql]#chown -R mysql:mysql ./logs

    5.启动数据库
    [root@dev-env23 mysql]# service mysqld start
    190124 11:14:14 mysqld_safe error: log-error set to '/home/mysql/logs/mysqld.log', however file don't exists. Create writable for user 'mysql'.
    MySQL Daemon failed to start.
    Starting mysqld: [FAILED]
    [root@dev-env23 mysql]#

    提示没有mysqld.log日志文件,创建即可
    [root@dev-env23 mysql]# cd /home/mysql/logs
    [root@dev-env23 logs]# echo>mysqld.log
    [root@dev-env23 logs]# chown mysql:mysql mysqld.log


    再次启动
    [root@dev-env23 logs]# service mysqld start
    Starting mysqld: [ OK ]
    [root@dev-env23 logs]#

     

    6.找到主从同步的参数值
    master_log_file和master_log_pos
    这两个参数可以在xtrabackup备份目录下的文件中查找到

    [root@dev-env23 data]# cd /home/2019-01-24_10-46-06

    [root@host02 2017-09-18_15-53-15]# more xtrabackup_binlog_info
    [root@dev-env23 2019-01-24_10-46-06]# more xtrabackup_binlog_info
    binlog.000011 587445616

    7.执行主从复制
    [root@dev-env23]# mysql -h localhost -uroot -pyeemiao1117
    change master to master_host='192.168.1.22',
    master_port=3306,
    master_user='repl',
    master_password='repl',
    master_log_file='binlog.000011',
    master_log_pos=587445616;

    8.启动复制
    start slave

  • 相关阅读:
    SQLServer数据库自增长标识列的更新修改操作
    “~/Views/Login/Login.aspx”处的视图必须派生自 ViewPage、ViewPage<TModel>、ViewUserControl 或 ViewUserControl<TModel>。
    关于值类型与列类型不匹配,所需类型是 DataRow"的解决方案
    尝试为文件 F:visual studio 2010kbspaperCMSApp_DataProject.mdf 附加自动命名的数据库,但失败。已存在同名的数据库,或指定的文件无法打开或位于 UNC 共享目录中。
    Django快速开发之投票系统
    super() 的入门使用
    [python]模块及包
    [转]大话后端开发的奇淫技巧大集合
    [.net 多线程]ThreadPool的安全机制
    [.net 多线程]Task
  • 原文地址:https://www.cnblogs.com/hxlasky/p/10313405.html
Copyright © 2011-2022 走看看