天天看点

安装和测试xtrabackup8.0

安装和测试xtrabackup8.0

Xtrabackup 2.4.已经不支持MySQL 8.0的备份恢复,使用会报如下错误!

Error: MySQL 8.0 and Percona Server 8.0 are not supported by Percona Xtrabackup 2.4.x series. Please use Percona Xtrabackup 8.0.x for backups and restores.

mysql8.0

[root@enbao ~]# clear

[root@enbao ~]# cat /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

安装percona-xtrabackup-80

[root@enbao soft]# yum -y install percona-xtrabackup-80-8.0.7-1.el7.x86_64.rpm

Installed:

percona-xtrabackup-80.x86_64 0:8.0.7-1.el7

Complete!

查看安装后结果,发现已经没有innobackupex命令

[root@enbao soft]# rpm -ql percona-xtrabackup-80-8.0.7-1.el7.x86_64

/usr/bin/xbcloud

/usr/bin/xbcloud_osenv

/usr/bin/xbcrypt

/usr/bin/xbstream

/usr/bin/xtrabackup

/usr/lib64/xtrabackup/plugin/keyring_file.so

/usr/lib64/xtrabackup/plugin/keyring_vault.so

/usr/share/doc/percona-xtrabackup-80-8.0.7

/usr/share/doc/percona-xtrabackup-80-8.0.7/LICENSE

/usr/share/man/man1/xbcrypt.1.gz

/usr/share/man/man1/xbstream.1.gz

/usr/share/man/man1/xtrabackup.1.gz

备份3306实例并恢复回3306

创建测试数据

root@enbao 09:56: [enbao]> create database test;

Query OK, 1 row affected (0.06 sec)

  1. shutdown 原实例,冷备份原来数据

    [root@enbao soft]# mysqladmin -uroot -proot123 shutdown

    mv mysql3306 mysql3306_bak

  2. mkdir mysql3306/{data,logs,tmp} -p

    进行数据恢复

  3. xtrabackup --defaults-file=/data/mysql/my3306.cnf --copy-back --target-dir=/data/backup/db3306_20191027/

    更改目录权限

  4. chown -R mysql:mysql mysql3306
  5. /usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/my3306.cnf &

    查看error日志是否有错误,登录到数据库验证可用性!

    [root@enbao logs]# grep -i "error" /data/mysql/mysql3306/logs/error.log

    2019-10-27T10:37:35.389830-04:00 1 [ERROR] [MY-011971] [InnoDB] Tablespace 'innodb_system' Page [page id: space=0, page number=5] log sequence number 29956511 is in the future! Current system log sequence number 29861388.

    2019-10-27T10:37:35.389873-04:00 1 [ERROR] [MY-011972] [InnoDB] Your database may be corrupt or you may have copied the InnoDB tablespace but not the InnoDB log files. Please refer to http://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html for information about forcing recovery.

    [root@enbao logs]# mysql -S /data/mysql/mysql3306.sock -p

    Enter password:

    Welcome to the MySQL monitor. Commands end with ; or \g.

    Your MySQL connection id is 9

    Server version: 8.0.17 MySQL Community Server - GPL

    root@enbao 11:01: [test]> select * from t1;

    +----+------+

    | id | name |

    | 1 | a |

    | 2 | b |

    | 3 | c |

    3 rows in set (0.00 sec)

继续阅读