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

[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

 

你可能感兴趣的:(mysql)