--参考文档
https://help.aliyun.com/document_detail/26212.html
--解压备份文件
tar -xzvf hinsx122336_data_201801000.tar.gz -C /data/mysql_data
rm hinsx122336_data_201801000.tar.gz
--安装xtrabackup软件
sudo rpm -ivh percona-xtrabackup-2.0.6-521.rhel6.x86_64.rpm
[root@test mysql_bak]# sudo rpm -ivh percona-xtrabackup-2.0.6-521.rhel6.x86_64.rpm
warning: percona-xtrabackup-2.0.6-521.rhel6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ########################################### [100%]
1:percona-xtrabackup ########################################### [100%]
--恢复数据
innobackupex --defaults-file=./backup-my.cnf --apply-log --ibbackup xtrabackup_56 ./
//必须要加上后面的--ibbackup xtrabackup_56,我这里是5.6.16,因为数据库版本是5.6版本的,不加的话会报错
[notice (again)]
If you use binary log and don't use any hack of group commit,
the binary log position seems to be:
xtrabackup: starting shutdown with innodb_fast_shutdown = 1
180607 16:53:45 innobackupex: completed OK!
--修改配置文件。将解压文件 backup-my.cnf 中的 innodb_fast_checksum、innodb_page_size、innodb_log_block_size,innodb_log_checksum_algorithm
rds_encrypt_data,innodb_encrypt_algorithm 注释掉,并且添加 datadir=/mysql_data,如下所示。
# The MySQL server
[mysqld]
innodb_checksum_algorithm=innodb
#innodb_log_checksum_algorithm=innodb
innodb_data_file_path=ibdata1:200M:autoextend
innodb_log_files_in_group=2
innodb_log_file_size=1572864000
#innodb_fast_checksum=false
#innodb_page_size=16384
#innodb_log_block_size=512
innodb_undo_directory=.
innodb_undo_tablespaces=0
datadir=/data/mysql_data
character_set_server = utf8
#rds_encrypt_data=false
#innodb_encrypt_algorithm=aes_128_ecb
--重装 MySQL 系统库,取得数据库的 root 权限。
cd /data/mysql_data
chown -R mysql.mysql mysql_data/
mysql_install_db --user=mysql --basedir=/usr --datadir=/data/mysql_data --defaults-file=/data/mysql_data/backup-my.cnf //这里需要指定配置文件,不然它会在初始化的时候去到/etc目录下查找
--关闭selinux --重要,否则起不来,回报pid的错误
getenforce
setenforce 0
/etc/selinux/config
修改 selinux 配置文件
将SELINUX=enforcing改为SELINUX=disabled
--关闭防火墙,否则没法远程登录
chkconfig iptables off
service iptables stop
--复制参数文件到默认路径,以无需认证方式启动
cp backup-my.cnf /etc/my.cnf
mysqld_safe --skip-grant-tables
--修改root密码
use mysql
UPDATE mysql.user SET Password=PASSWORD('xxxxx') WHERE User='root';
flush privileges
--重启服务
service mysql restart