入职小美到家后,发现mysql-data目录存储在20G根目录磁盘,磁盘空间越来越小,这个坑必须填掉。同事要求不停业务做迁移,讨论后方案如下:
方案:
1、使用xtartbackup做mysql的master-slave(无需上锁,不影响业务)。
2、验证数据一致性后将业务从master切换至slave。
3、将原master-slave重新部署。
方案虽然繁琐,重点在于安全。
xtartbackup部署步骤如下:
1、安装xtrabackup
yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL perl-IO-Socket-SSL
rpm -ivh percona-xtrabackup-22-2.2.13-1.el6.x86_64.rpm
2、备份全部库
innobackupex –user=root –port=8001 –host=127.0.0.1 –password=nidemima –defaults-file=/usr/local/app/mysql/my.cnf /mnt/data/
3、为了保证备份集中的数据一致,需要操作:
innobackupex –apply-log /tmp/mysqlbackup/2015-12-21_16-45-31
4、创建主从账号
Master上创建同步账号并授权REPLICATION
CREATE USER ‘repl’@’192.168.1.%’ IDENTIFIED BY ‘nidemima’;
GRANT REPLICATION SLAVE, R