Xtrabackup备份与恢复一、主从数据库备份一、环境操作系统版本:linux-7.3-x86_64数据库版本:mysql-5.7.19-x86_64Master主服务器:172.22.23.14slave从服务器:172.22.23.15对于mysql5.7以下的版本,可以使用perconaxtrabackupversion2.4。mysql8.0以上版本,可以使用perconaxtrabackup8.0版本。下载路径https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.421/binary/tarball/percona-xtrabackup-2.4.21-Linux-x86_64.glibc2.12.tar.gztar-zxvfpercona-xtrabackup-2.4.21-Linux-x86_64.glibc2.12.tar.gzmvpercona-xtrabackup-2.4.21-Linux-x86_64.glibc2.12/usr/local/xtrabackupln-s/usr/local/xtrabackup/bin/*/usr/bin/xtrabackup--version2,主数据全量备份将主数据库(172.22.23.14:20033)的数据全量备份到目录/opt/backup。查看备份数据量innobackupex--defaults-file=/etc/my.cnf--user=root--password=123456--port=3306--socket=/var/lib/mysql/mysql.sock/opt/backup查看备份数据库的数据量`du-sh2021-12-09_22-14-48/`注意:全量备份时间与数据库数据量有关,700G的备份时间约为40分钟。进入/opt/backup目录查看备份是否成功:为了保证备份集中的数据一致,需要操作:innobackupex--apply-log/opt/backup/2021-12-09_22-14-483、复制数据到从库df-hl:查看磁盘剩余空间,根据数据库数据量选择目录。将主库的全量备份复制到从库主机的/opt/backup目录下:cd/opt/backup对当前主服务器进行操作scp–r/opt/backup/2021-12-09_22-14-48root@172.22.143.199:/opt/backup/4.重启从库服务,停止从库上的MySQL,然后将从主库复制的全量备份文件放到从库datadir目录下:mv/opt/backup/2021-12-09_22-14-48/*/var/lib/mysql/cd/var/lib/mysql/xtrabackup--defaults-file=/etc/my.cnf--prepare--target-dir=/var/lib/mysql/Mysql及以下文件目录全部改成mysqlchown-Rmysql:mysql/var/lib/mysql测试当前从服务器启动mysql:systemctlstartmysqld进入数据库:mysql-uroot-p123456检查数据库数据是否与当前主服务器一致。问题:错误2002(HY000):无法通过套接字“/tmp/mysql.sock”连接到本地MySQL服务器(2)mysql.sock文件不在/tmp目录中,创建到该文件的超链接。ln-s/data1/opt/mysql_20033_ainote/mysql_20033_ainote.sock/tmp/mysql.sock5、主从同步查看备份集信息:cat/var/lib/mysql/xtrabackup_binlog_infocat/var/lib/mysql/xtrabackup_binlog_pos_innodb创建复制:将master更改为master_host='172.22.23.14',MASTER_PORT=20033,master_user='replicator',master_password='Rep1!C@T0r',master_log_file='mysql-bin.000560',master_log_pos=257293478;启动奴隶;查看复制信息:showslavestatus\G问题:复制接收器线程无法启动,因为主服务器的GTID_MODE=ON而此服务器的GTID_MODE=OFF。解决方法:修改配置文件my.cnf。新增内容:gtid_modegtid_mode=onenforce_gtid_consistency=onskip_slave_start=1然后停止数据库,刷新数据,启动数据库。
