使用innobackupex回复数据备份

本文指导您如何使用innobackupex从备份文件恢复并重建MySQL数据库,包括配置my.cnf、解压备份文件、权限调整及数据恢复过程。

初次发帖,没技术含量,勿喷。

wget到innobackupex的rpm包,安装好。

innobackupex版本V1.5.1,mysql版本5.1.61

拿到一个2014-2-17.tar.gz的DB压缩包,先解压

tar -zxf 2014-2-17.tar.gz

新建一个空目录:mkdir ~/mysql/data

从/etc目录下复制一个my.cnf到~/mysql/data目录下,cp /etc/my.cnf ~/mysql/data

权限的问题我就不多说了,用过linux大家都会。

然后修改拷贝过来的my.cnf,将datadir=~/mysql/data,socket=~/mysql/data/mysql.sock

然后到数据备份目录下找到xtrabackup.logfile,这个文件是还原数据的依据。

查看一下backup-my.cnf,将里面的一些innodb的默认参数设置也复制粘贴到~/mysql/data/my.cnf中、

现在~/mysql/data/my.cnf中的内容应该是如下:

[mysqld]

datadir=~/mysql/data

socket=~/mysql/data/mysql.sock

#[mysql.server]

user=mysql

#basedir=~/mysql/data

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

innodb_data_file_path=ibdata1:10M:autoextend

innodb_log_files_in_group=2

innodb_log_file_size=5242880

#innodb_fast_checksum=0

#innodb_page_size=16384

#innodb_log_block_size=512


[mysqld_safe]

datadir=~/mysql/data

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid


#[client]

#socket=/var/lib/mysql/mysql.sock

切到~/backup/2014-2-17目录下,执行数据恢复的命令

innobackupex --copy-back --defaults-file=./mysql/data/my.cnf .

这里的--copy-back的意思就是解压后存放到以./mysql/data/my.cnf默认配置的路径下。

然后就是要重建恢复后的数据库,修改mysql访问的数据库。

先停掉mysql的服务,pkill -9 mysqld或者service mysqld stop

删掉~/mysql/data下面的mysql文件夹

然后mysql_install_db --datadir=`pwd` --user=root

修改~/mysql/data的属主 chown -R mysql.mysql ~/mysql

修改my.cnf文件将socket=/var/lib/mysql/mysql.sock

修改my.cnf的权限,chmod 660 ~/mysql/data/my.cnf

然后启动你刚刚建好的数据库的服务:/usr/bin/mysqld_safe --defaults-file=my.cnf &

这里说一下,正常情况你输mysql就进入linux的数据库了,但那个是默认数据库,你会找不到你

刚刚恢复的数据。也就是说,你改了服务端客户端是不知道的,除非你修改默认访问的数据库,要修改

/etc/init.d/mysqld文件。

还是手动启吧,要知道mysql只是封装了的mysqld_safe的命令合集。启动之后ps ax|grep mysqld就可以看到你按照

新建的数据库路径启动的服务。

输入mysql -uroot 即可进入刚刚新建的数据库。

另外告诉大家一个技巧,如果你遇到了错误,又没提示你什么错误,你可以查看/var/log/mysqld.log文件看最后几行

会有错误的记录的。

转载于:https://my.oschina.net/u/1452269/blog/201432

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值