天天看点

aliyun 阿里云mysql备份恢复到本地环境

--参考文档

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

[[email protected] 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

继续阅读