使用xtrabackup对不同版本的mysql进行备份还原
一、安装mysql对应版本的xtrabackup,不同服务器安装不同的版本
mysql 5.1 – xtrabackup2.0
mysql5.6 --xtrabackup 2.2
mysql5.7 --xtrabackup2.4
二、本地服务器和远程服务器建立免密连接
1.ssh-keygen -t rsa,一直回车 生成密钥
2.ssh-copy-id -i .ssh/id_rsa.pub root@192.168.99.242 #复制密钥到远程主机
3.ssh 192.168.99.242 测试登录
三、手动备份
1、 全量备份:
Innobackupex --defaults-file=/etc/my.cnf --user=root --host=127.0.0.1 --password=root--no-timestamp --stream=tar ./ | ssh root@192.168.99.242 \ "cat - > /usr/local/xtrabackup/full/full.tar"
2、远程服务器解压
tar -xvif /usr/local/xtrabackup/full/full.tar
3、预还原
innobackupex --apply-log /usr/local/xtrabackup/full/
4、还原
innobackupex --defaults-file=/etc/my.cnf --copy-back /usr/local/xtrabackup/full
5、设置权限
chown -R mysql.mysql /var/lib/mysql
6、错误解决:mysql版本不一致导致不能启动
先跳过数据库验证:skip-grant-tables;
启动msyql,然后更新:mysql_upgrade
修改密码:update mysql.user set authentication_string=password('root_password') where user='root';
flush privileges;
然后去除验证