今天是中秋节,吃完晚饭后想起来还有几套mysql复制没有做完,于是打开电脑开始了工作:
如果你的mysql数据库有几百G甚至是T级别,要做mysql复制环境,那xtrabackup肯定是首先,下面是步骤供参考:
1.创建备份:
innobackupex --defaults-file=/etc/my.cnf -uroot -pxxxxx --slave-info /backup
或者:
innobackupex --defaults-file=/etc/my.cnf -uroot -pxxx /backup
2.scp到远程的机器:
scp -r 2018-09-24_12-41-44/ [email protected]:/backup
3.应用日志:
# innobackupex --apply-log /backup/2018-09-24_12-41-44/
4.如果机器的空间不足可以选择不使用--copy-back ,而使用--move-back,而且--move-back的速度更快:
/usr/bin/innobackupex --copy-back /backup/2018-09-24_12-41-44/
也可也使用--copy-back
innobackupex --defaults-file=/etc/my.cnf --copy-back --rsync /backup/2018-09-24_12-41-44/
5.修改权限:
# chown mysql:mysql -R mysql
su - mysql
5.启动数据库:
/u01/my3306/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
关闭数据库:
mysqladmin --socket=/u01/my3306/run/mysql.sock --port=3306 –p shutdown
6.创建slave,pos和日志可以从xtrabackup_info文件中找:
CHANGE MASTER TO MASTER_HOST='192.168.52.99,MASTER_PORT=3306,MASTER_USER='repl',MASTER_PASSWORD='rep#48passw',MASTER_LOG_FILE='mysql-bin.000007',MASTER_LOG_POS=95998982;
7.注意事项:
如果你的mysql做了双主复制或者是做级联复制,不想mysql启动的时候也启动复制,可以设置参数skip-slave-start = 1,这样mysql在启动的时候就不会自动启动复制,等配置好复制环境后再设置skip-slave-start = 0。