首页域名资讯 正文

xtrabackup开启新实例

2025-01-13 7 0条评论

1.1. 前言

之前有几位朋友刚刚接触MySQL备份工具xtrabackup,想将使用这个工具使用在自己的生产环境上。他们使用这用具恢复数据的使用,总是按官网的,在恢复的最后都会执行–copy-back。然后之前目录的数据就必须得覆盖了。

那其实明白多实例的,应该知道其实只要apply-log完,然后在开启新的实例数据目录就能使用了。

1.2. 演示

这里我们将数据备份在 /u01/backup

1 2 3 4 5 6 7 8 9 / 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 !

查看备份成功后结果

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [ root @ trustauth.cn 2016 04 02_20 58 16 ] # pwd / u01 / backup / 2016 04 02_20 58 16 [ root @ trustauth.cn 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官网写的很清楚)

1 2 3 4 5 6 7 / 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)

1 2 3 4 5 6 7 8 9 10 11 12 13 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用户

1 chown R mysql : mysql / u01 / backup

启动MySQL端口为3307

1 2 / bin / bash / usr / local / mysql / bin / mysqld _safe \    defaults file = / u01 / backup / 2016 04 02_20 58 16 / my . cnf > / dev / null 2 > & 1 &

启动日志显示一下面信息说明成功

1 2 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

1 2 3 4 5 6 7 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 / | + + +

上面展示的信息说明能使用了,并且是刚刚恢复的数据目录。

这时候只要让开发切换到3307端口使用数据库就好了。

当然如果你想要恢复某个表的数据你也可以从改3307实例dump出数据。或者在之前就使用exp方法导入恢复数据。

1.3. 总结

其实理解了多实例是个怎么回事自然就知道这中方法是如何的。

 

 

文章转载来自:trustauth.cn

文章版权及转载声明

本文作者:亿网 网址:https://edns.com/ask/post/163331.html 发布于 2025-01-13
文章转载或复制请以超链接形式并注明出处。