安装mysql 8 和 percona-xtrabackup-8
percona-xtrabackup-8.0.4 版本有坑
参考文章 http://t.zoukankan.com/Sungeek-p-10837658.html
##############################
安装mysql8 ,安装源
yum -y localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
yum -y install mysql-community-server
GPG Keys are configured as:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
原因: GPG对于包的源key的验证没有通过
解决方法: 在yum install 版本后面加上 --nogpgcheck,即可绕过GPG验证成功安装 ,
yum install mysql-community-server --nogpgcheck
systemctl start mysqld
// 查看密码
cat /var/log/mysqld.log | grep password
提前运行安全向导
mysql_secure_installation
或者以root登录,改密码:
mysql -uroot -p 登录
alter user root@localhost identified by 'xxxxxxxxx'; // 提示Query OK, 0 rows affected (0.00 sec),则表示修改成功。
select version(); 查看版本
查看密码等级
show variables like 'validate_password%';
show global variables like 'wait_timeout';
show variables like 'character%';
set global validate_password.policy = 0;
默认已经是utf-8mb4编码,可能需要设置waittime参数
在my.cnf 中mysqld节点
wait_timeout=5184000
###########################
安装perconaXtraBackup8.0 // 8.0.4版本有问题,
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-8.0.4/binary/redhat/7/x86_64/percona-xtrabackup-80-8.0.4-1.el7.x86_64.rpm
yum localinstall percona-xtrbackup-80-8.0.4-1.el7.x86_64.rpm
后续恢复的时候报错,xtrabackup: Unknown error 3613
该问题是在8.0.4版本出现的,据说安装了8.0.7版本问题解决,实际下载极慢,用源安装的最新版,解决。
#######################,用这个更新源,然后下载最新版本。
安装源
yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
启用仓库
percona-release enable-only tools
* Disabling all Percona Repositories * Enabling the Percona Tools repository <*> All done!
yum install -y percona-xtrabackup-80 #安装8.0版本
yum install -y percona-xtrabackup-24 #安装2.4版本 (这步可不作)
rpm -qa | grep -i xtrabackup
rpm -ql percona-xtrabackup-80
xtrabackup --version
###########################################
阿里云恢复 mysql 8 说明文档
https://help.aliyun.com/document_detail/41817.html?spm=a2c4g.11186623.6.751.793f4bd6WWNg0y
安装解压工具
wget "http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/183466/cn_zh/1608011575185/qpress-11-linux-x64.tar"
tar xvf qpress-11-linux-x64.tar
chmod 775 qpress
cp qpress /usr/bin
创建目录用来存放备份
mkdir -p /home/mysql/data
先解包
cat test1_qp.xb | xbstream -x -v -C /home/mysql/data
再解压
### 对于MySQL 8.0
xtrabackup --decompress --remove-original --target-dir=/home/mysql/data
查询文件
ls -l /home/mysql/data
恢复解压好的备份文件
## MySQL 8.0
xtrabackup --prepare --target-dir=/home/mysql/data
xtrabackup --datadir=/var/lib/mysql --copy-back --target-dir=/home/mysql/data
后一步 提示 可能提示目录不为空
Original data directory /var/lib/mysql is not empty!
则删除
rm -rf /var/lib/mysql
启动mysql,
vim /home/mysql/data/backup-my.cnf
如下
增加目录权限
chown -R mysql:mysql /home/mysql/data
chown -R mysql:mysql /var/lib/mysql
启动mysql
mysqld --defaults-file=/home/mysql/data/backup-my.cnf --user=mysql --datadir=/home/mysql/data &
如果启动正常,就可以了
然后用 mysql -uroot -p 登录,这里的密码是原来备份数据库的密码,不是本机的密码。
备份压缩
mysqldump -uroot -ppassword abc | gzip > db_abc.sql.gz
恢复压缩
gunzip < /root/backup/abc.sql.gz | mysql -uroot -ppassword abc