使用percona-xtrabackup备份数据库,实现不停机不锁表配置MySQL主从复制
安装 1 2 3 dpkg -i https: sed -i 's#http://www.percona.com#https://mirrors.tuna.tsinghua.edu.cn#g' /etc/apt/sources.list .d /percona-release.list apt-get install percona-xtrabackup-24
备份 备份指定库 (多库用空格隔开) 1 2 innobackupex --defaults-file =/etc/my.cnf --socket =/tmp/mysql.sock --user =root \ --password =xxx --parallel =4 --databases ="db1 db2" /root/backup
备份所有库 1 2 innobackupex --defaults-file =/etc/my.cnf --socket =/tmp/mysql.sock --user =root \ --password =xxx --parallel =4 /root/backup
1 2 3 ls -l /root/backup/ total 4 drwxr-x--- 6 root root 4096 Jan 30 01:01 2019-01 -30 _00-57 -25
保持事务一致性 1 innobackupex --apply-log /root/backup/2019 -01 -30 _00-57 -25 /
传输 1 scp -r -P 25680 2019 -01 -30_00 -57 -25 sunday@192 .168.1 .91 :/home/sunday/
从库恢复 1 innobackupex --defaults-file =/etc/my .cnf --socket=/tmp/my sql.sock --user=root --password xxx --datadir=/data/my sql/3306/ data --copy -back /tmp/ backup/2019-01-30_00-57-25/
修复权限 1 chown -R mysql.mysql /data /mysql/3306
重启从数据库 1 /etc/i nit.d/mysql restart
主从复制配置 主库授权 1 grant replication slave on *.* to slave @'192.168.1.9%' identified by 'slave' ;
从库查看xtrabackup_binlog_info gtid_purged 1 2 3 cat /data/mysql/3306 /xtrabackup_binlog_info mysql-bin.000033 71601523 4d83ee2d-11ad-11e9 -953c-1866dae7c89c:1 -4522979 , 6c679363-11a5-11e9 -8b86 -1866dae7c89c:1 -2
从库修改GTID_PURGE 1 2 3 mysql > reset slave all; mysql > reset master; mysql > SET GLOBAL GTID_PURGED='4d83ee2d-11ad-11e9 -953c-1866dae7c89c:1 -4522979 ,6c679363-11a5-11e9 -8b86 -1866dae7c89c:1 -2 '
从库连接主库 1 2 3 change master to master_host='192.168.1.91' ,master_user='slave' ,master_password='slave' ,master_port=3306 ,master_auto_position=1 ;start slave ;show slave status \G;
从库注意修改参数 如忽略指定库和开启只读模式1 2 3 4 5 replicate_wild_ignore_table = sys.%replicate_wild_ignore_table = information_schema.%replicate_wild_ignore_table = performance_schema.%read_only =on super_read_only =on
https://wsgzao.github.io/post/xtrabackup/