使用innobackupex回复数据备份

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

wget到innobackupex的rpm包,安装好。
linux

innobackupex版本V1.5.1,mysql版本5.1.61sql

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

tar -zxf 2014-2-17.tar.gzsocket

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

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

权限的问题我就很少说了,用过linux你们都会。get

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

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

查看一下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文件看最后几行

会有错误的记录的。

相关文章
相关标签/搜索