1.1. 前言
之前有几位朋友刚刚接触MySQL备份工具xtrabackup,想将使用这个工具使用在自己的生产环境上。他们使用这用具恢复数据的使用,总是按官网的,在恢复的最后都会执行--copy-back。然后之前目录的数据就必须得覆盖了。
那其实明白多实例的,应该知道其实只要apply-log完,然后在开启新的实例数据目录就能使用了。文章源自运维生存时间-https://www.ttlsa.com/mysql/xtrabackup-use-new-instance/
1.2. 演示
这里我们将数据备份在 /u01/backup文章源自运维生存时间-https://www.ttlsa.com/mysql/xtrabackup-use-new-instance/
/usr/local/percona-xtrabackup/bin/innobackupex \ --defaults-file=/etc/my.cnf \ --user=root \ --password=root \ /u01/backup ...... xtrabackup: Transaction log of lsn (12587615580) to (12587615630) was copied. 160402 20:45:06 completed OK!
查看备份成功后结果文章源自运维生存时间-https://www.ttlsa.com/mysql/xtrabackup-use-new-instance/
[root@localhost 2016-04-02_20-58-16]# pwd /u01/backup/2016-04-02_20-58-16 [root@localhost 2016-04-02_20-58-16]# ll total 1048632 -rw-r----- 1 root root 424 Apr 2 20:58 backup-my.cnf -rw-r----- 1 root root 814 Apr 2 20:58 ib_buffer_pool -rw-r----- 1 root root 1073741824 Apr 2 20:58 ibdata1 drwxr-x--- 2 root root 4096 Apr 2 20:58 mysql drwxr-x--- 2 root root 8192 Apr 2 20:58 performance_schema drwxr-x--- 2 root root 8192 Apr 2 20:58 sys drwxr-x--- 2 root root 4096 Apr 2 20:58 test drwxr-x--- 2 root root 53 Apr 2 20:58 test1 -rw-r----- 1 root root 21 Apr 2 20:58 xtrabackup_binlog_info -rw-r----- 1 root root 121 Apr 2 20:58 xtrabackup_checkpoints -rw-r----- 1 root root 501 Apr 2 20:58 xtrabackup_info -rw-r----- 1 root root 2560 Apr 2 20:58 xtrabackup_logfile
使用xtrabackup应用日志 --apply-log(这边就不说如何让恢复的更快了,Percona官网写的很清楚)文章源自运维生存时间-https://www.ttlsa.com/mysql/xtrabackup-use-new-instance/
/usr/local/percona-xtrabackup/bin/innobackupex \ --apply-log \ /u01/backup/2016-04-02_20-58-16 ...... InnoDB: Shutdown completed; log sequence number 12587880249 160402 21:00:05 completed OK!
拷贝已有数据库使用的my.cnf,并且修改配置文件的数据目录和端口(3307)文章源自运维生存时间-https://www.ttlsa.com/mysql/xtrabackup-use-new-instance/
cp /etc/my.cnf /u01/backup/2016-04-02_20-58-16/my.cnf cat /u01/backup/2016-04-02_20-58-16/my.cnf [mysqld] server-id = 2 port = 3307 user = mysql basedir = /usr/local/mysql datadir = /u01/backup/2016-04-02_20-58-16 tmpdir = /u01/backup/2016-04-02_20-58-16 socket = /u01/backup/2016-04-02_20-58-16/mysql.sock general_log_file = /u01/backup/2016-04-02_20-58-16/centos7.log log_error = /u01/backup/2016-04-02_20-58-16/centos7.err skip-external-locking
修改数据文件的权限为mysql用户文章源自运维生存时间-https://www.ttlsa.com/mysql/xtrabackup-use-new-instance/
chown -R mysql:mysql /u01/backup
启动MySQL端口为3307文章源自运维生存时间-https://www.ttlsa.com/mysql/xtrabackup-use-new-instance/
/bin/bash /usr/local/mysql/bin/mysqld_safe \ --defaults-file=/u01/backup/2016-04-02_20-58-16/my.cnf > /dev/null 2>&1 &
启动日志显示一下面信息说明成功文章源自运维生存时间-https://www.ttlsa.com/mysql/xtrabackup-use-new-instance/
2016-04-02T13:19:46.838448Z 0 [Note] /usr/local/mysql/bin/mysqld: ready for connections. Version: '5.7.10-3' socket: '/u01/backup/2016-04-02_20-58-16/mysql.sock' port: 3307 Percona Server (GPL), Release 3, Revision 63dafaf
使用刚刚恢复的库端口为3307文章源自运维生存时间-https://www.ttlsa.com/mysql/xtrabackup-use-new-instance/
mysql -uroot -proot -S /u01/backup/2016-04-02_20-58-16/mysql.sock show variables like '%datadir%'; +---------------+----------------------------------+ | Variable_name | Value | +---------------+----------------------------------+ | datadir | /u01/backup/2016-04-02_20-58-16/ | +---------------+----------------------------------+
上面展示的信息说明能使用了,并且是刚刚恢复的数据目录。文章源自运维生存时间-https://www.ttlsa.com/mysql/xtrabackup-use-new-instance/
这时候只要让开发切换到3307端口使用数据库就好了。文章源自运维生存时间-https://www.ttlsa.com/mysql/xtrabackup-use-new-instance/
当然如果你想要恢复某个表的数据你也可以从改3307实例dump出数据。或者在之前就使用exp方法导入恢复数据。文章源自运维生存时间-https://www.ttlsa.com/mysql/xtrabackup-use-new-instance/
1.3. 总结
其实理解了多实例是个怎么回事自然就知道这中方法是如何的。文章源自运维生存时间-https://www.ttlsa.com/mysql/xtrabackup-use-new-instance/
文章源自运维生存时间-https://www.ttlsa.com/mysql/xtrabackup-use-new-instance/
昵称:HH
QQ:275258836
ttlsa群交流沟通(QQ群②:6690706 QQ群③:168085569 QQ群④:415230207(新) 微信公众号:ttlsacom)文章源自运维生存时间-https://www.ttlsa.com/mysql/xtrabackup-use-new-instance/
感觉本文内容不错,读后有收获?文章源自运维生存时间-https://www.ttlsa.com/mysql/xtrabackup-use-new-instance/
逛逛衣服店,鼓励作者写出更好文章。文章源自运维生存时间-https://www.ttlsa.com/mysql/xtrabackup-use-new-instance/ 文章源自运维生存时间-https://www.ttlsa.com/mysql/xtrabackup-use-new-instance/

评论