mysql用xtrabackup 在从库制作新从库

  1. innobackupex --defaults-file=/data/mysql_3320/my3320.cnf --user=mybackup --password=‘xx’ --socket=/tmp/mysql_3320.sock --slave-info --safe-slave-backup --no-timestamp /data/mysql_backup/3320
  2. innobackupex --apply-log /data/mysql_backup/3320
  3. Tar cvf 3320.tar 3320
  4. 拷贝压缩文件到从库机器解压
  5. 从库机器创建用户 export port=3320 groupadd mysql useradd -M -g mysql my${port} -s /sbin/nologin useradd -M -g mysql mysql -s /sbin/nologin
  6. Mv 3320 mysql_3320
  7. 考本配置文件到从库的mysql_3320目录下
  8. Chown -R my3320:mysql mysql_3320
  9. 启动从库mysql cd /usr/local/mysql-5.7.23 && ./bin/mysqld_safe --defaults-file=/data/mysql_ p o r t / m y {port}/my port/my{port}.cnf --user=my${port} 2>&1 > /dev/null &
  10. 查看xtrabackup_slave_info文件,用正确的ip,port,文件中的点位信息替换下面的信息 CHANGE MASTER TO MASTER_HOST=‘xxx’, MASTER_PORT = xxx, MASTER_USER=‘repl’, MASTER_PASSWORD=‘xxx’, MASTER_LOG_FILE=‘mysql-bin.0000xx’, MASTER_LOG_POS=xxx;
  11. 查看复制状态 Show slave statusG

上面是不开gtid 下面是开了gtid,并行复制的

  1. innobackupex --defaults-file=/data/mysql_3320/my3320.cnf --user=mybackup --password=‘xx’ --socket=/tmp/mysql_3320.sock --slave-info --safe-slave-backup --no-timestamp /data/mysql_backup/3320
  2. innobackupex --apply-log /data/mysql_backup/3320
  3. Tar cvf 3320.tar 3320
  4. 拷贝压缩文件到从库机器解压
  5. 从库机器创建用户 export port=3320 groupadd mysql useradd -M -g mysql my${port} -s /sbin/nologin useradd -M -g mysql mysql -s /sbin/nologin
  6. Mv 3320 mysql_3320
  7. 考本配置文件到从库的mysql_3320目录下
  8. Chown -R my3320:mysql mysql_3320
  9. 启动从库mysql cd /usr/local/mysql-5.7.23 && ./bin/mysqld_safe --defaults-file=/data/mysql_ p o r t / m y {port}/my port/my{port}.cnf --user=my${port} 2>&1 > /dev/null & 10 在新从库上reset master; 执行下面文件中的内容 cat xtrabackup_slave_info SET GLOBAL gtid_purged=‘269bfbb0-c1d9-11ea-bb4a-fa163e67718d:1-30354841, d0e4aa04-0b3d-11ea-9703-fa163e15aa41:1-24389454’; CHANGE MASTER TO MASTER_AUTO_POSITION=1; 11 开启复制,查看状态

另外一种方式通过拷贝的方式进行从库扩展。 需要设置双1,没有复制延时的情况下,然后在关闭从库拷贝。

经验分享 程序员 微信小程序 职场和发展