阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

innobackupex使用实践

168次阅读
没有评论

共计 3815 个字符,预计需要花费 10 分钟才能阅读完成。

先介绍一下环境:

MySQL:5.6.19
安装路径:/u01/mysql
数据文件:/u01/mysql/data
备份源:/u02/backup

我是异机恢复,和本机操作一样。

一、全量备份

步骤:

./innobackupex –user=root –password=root –host=172.17.210.112 –parallel=4 –throttle=400 –stream=tar /mysqlbak/innobackupex 2>/mysqlbak/innobackupex/bak.log 1>/mysqlbak/innobackupex/fullbak.tar

注释一下,常用的参数。

–user=root                              备份操作用户名,一般都是 root 用户
–password=root123                        密码
–host=172.17.210.112                    主机 ip,本地可以不加
–parallel=4 –throttle=400              并行个数,根据主机配置选择合适的,
                                          默认是 1 个,多个可以加快备份速度。
–stream=tar                              压缩类型,这里选择 tar 格式,可以加,可不加。
                                          加上文件就小一点,在备份的时候就已经打包好了。
/mysqlbak/innobackupex                    备份存放的目录
2>/mysqlbak/innobackupex/bak.log          备份日志,将备份过程中的输出信息重定向到 bak.log
1>/mysqlbak/innobackupex/fullbak.tar      备份文件压缩后的名字
     

 给出不压缩的全备:

./innobackupex –user=root –password=root –host=172.17.210.112 –parallel=4 –throttle=400 /mysqlbak/innobackupex 2>/mysqlbak/innobackupex/bak.log 1>/mysqlbak/innobackupex/

 查看日志信息,会出现

141011 09:44:02  innobackupex: Executing FLUSH ENGINE LOGS…
141011 09:44:02  innobackupex: Waiting for log copying to finish
xtrabackup: The latest check point (for incremental): ‘14275993522’
xtrabackup: Stopping log copying thread.
.>> log scanned up to (14275993522)
xtrabackup: Creating suspend file ‘/tmp/xtrabackup_log_copied’ with pid ‘19659’
141011 09:44:03  innobackupex: All tables unlocked
141011 09:44:03  innobackupex: Waiting for ibbackup (pid=19659) to finish
xtrabackup: Transaction log of lsn (14275990028) to (14275993522) was copied.
innobackupex: Backup created in directory ‘/mysqlbak/innobackupex’
141011 09:44:04  innobackupex: Connection to database server closed
innobackupex: You must use -i (–ignore-zeros) option for extraction of the tar stream.
141011 09:44:04  innobackupex: completed OK!

表示备份成功。

二、全量恢复

恢复备份文件要保证 datadir 文件为空,否则会报如下的错误

[root@linuxidc data]# innobackupex –user=root  /data/backup/
IMPORTANT: Please check that the copy-back run completes successfully.
          At the end of a successful copy-back run innobackupex
          prints “completed OK!”.
Original data directory is not empty! at /usr/bin/innobackupex line 568. 

恢复第一步:应用日志。

[root@linuxidc bin]# ./innobackupex –user=root –password=root1 –defaults-file=/etc/my.cnf –apply-log /u02/backup/

恢复第二步:拷贝文件。

[root@linuxidc bin]# ./innobackupex –user=root –password=root1 –defaults-file=/etc/my.cnf –copy-back /u02/backup/

注释一下,常用的参数。

–defaults-file=/etc/my.cnf    恢复会使用 my.cnf 文件把需要恢复的文件,恢复到 my.cnf 指定的位置。

–apply-log                          这是备份时产生的日志,

–copy-back                        这是备份源,解压后的备份文件。

恢复需要一点点的时间,出现下面信息表示恢复成功。

innobackupex: Starting to copy InnoDB system tablespace
innobackupex: in ‘/u02/backup’
innobackupex: back to original InnoDB data directory ‘/u01/mysql/data’
innobackupex: Copying ‘/u02/backup/ibdata1’ to ‘/u01/mysql/data/ibdata1’
innobackupex: Starting to copy InnoDB undo tablespaces
innobackupex: in ‘/u02/backup’
innobackupex: back to ‘/u01/mysql/data’
innobackupex: Starting to copy InnoDB log files
innobackupex: in ‘/u02/backup’
innobackupex: back to original InnoDB log directory ‘/u01/mysql/data’
innobackupex: Copying ‘/u02/backup/ib_logfile1’ to ‘/u01/mysql/data/ib_logfile1’
innobackupex: Copying ‘/u02/backup/ib_logfile0’ to ‘/u01/mysql/data/ib_logfile0’
innobackupex: Finished copying back files. 

恢复第三步:修改文件权限。

cd 到 data 目录

chown -R mysql.mysql data/

可能出现的报错:

    1、出现下面错误,先初始化一下 mysql

[root@linuxidc support-files]# ./mysql.server start

Starting MySQL…The server quit without updating PID file (/u01/mysql/data/linuxidc.pid).[FAILED]

[root@linuxidc script]# ./mysql_install_db –basedir=/u01/mysql –no-defaults –skip-name-resolve –user=mysql –datadir=/u01/mysql/data

    2、权限: 应该恢复使用的是 root 用户,但是 MySQL 需要 MySQL 用户去访问。

[root@linuxidc support-files]# ./mysql.server restart

MySQL server PID file could not be found![FAILED]

Starting MySQL.The server quit without updating PID file (/u01/mysql/data/linuxidc.pid).[FAILED]

    3、连接 MySQL 的时候

[root@linuxidc bin]# ./mysql -uroot -p

Enter password:

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

没有这个文件,touch  mysql.sock 并修改文件权限。

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-08/134757.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计3815字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中