这里我使用的是点击"我了解,要下载"的功能
需要准备的环境:
1.mysql5.6(配合阿里云上的RDS数据库版本,这里我是重新搭建的数据库,没有数据)
2.xtraBackup2.3(因为使用的是mysql5.6,所以这里选择的版本为2.3)
下载方式:https://www.percona.com/doc/percona-xtrabackup/2.3/installation.html?spm=a2c4g.11186623.2.13.3f4d568a1qScp3
3.qpress
下载方式:yum -y install qpress
4.创建存放数据的文件夹
(此文件要在mysql的安装目录下,一般是/var/lib/mysql,这里我的数据存放路径在/home/mysql/data)
对于_qp.zb文件的处理:
1. 解包:
cat (此处省略)_qp.xb | xbstream -x -v -C /home/mysql/data
2.解压:
innobackupex --decompress --remove-original /home/mysql/data //将文件中的.qp文件解压,这里就需要提前装好qpress
查看一下/data/mysql/data文件
1.ls -l /data/mysql/data
执行完之后可以看到备份文件已经都在里面了
恢复解压好的备份文件
1.innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --apply-log /home/mysql/data
修改配置文件
1.vim /home/mysql/data/backup-my.cnf
将一些功能注释掉:
#innodb_log_checksum_algorithm
#innodb_fast_checksum
#innodb_log_block_size
#innodb_doublewrite_file
#rds_encrypt_data
#innodb_encrypt_algorithm
#redo_log_version
#master_key_id
添加一些功能:
port=3306
basedir=/usr/local/mysql
datadir= /home/mysql/data
socket= /home/mysql/data/mysql.sock
pid-file= /home/mysql/data/mysql.pid
skip-grant-tables //跳过登陆,以便需要密码
注意权限
chown -R mysql:mysql /home/mysql/data
启动mysql进程
mysqld_safe --defaults-file=/home/mysql/data/backup-my.cnf --user=mysql --datadir=/home/mysql/data &
登陆mysql
mysql -uroot -p123456
这里如果出现了root账号没有权限登陆:
1.关闭mysq进程: ps -aux mysql;kill -9 mysql进程号
2.使用跳过权限登录mysql
/usr/local/mysql/bin/mysqld_safe --defaults-file=/home/mysql/data/backup-my.cnf --skip-grant-tables &
3.直接使用 mysql 就可以登陆了
4.使用 mysqldump -uroot -p123456 --databases mytest > mytest.sql //将mysql里面的mytest库导成,sql文件
5.重复步骤1,关闭mysql进程
6.使用正确的mysql路径进行启动,/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf & //将配置文件指定好就可以了
7.启动完成之后,mysql -uroot -p123456 < mytest.sql就可以将表导入到本地数据库了
8.启动mysql:mysql -uroot -p123456就可以正常登陆了