如何将最佳实践MySQL数据库成功迁移至PXC集群?

摘要:借本次数据库迁移实践,再次总结一下MySQL数据库迁移到PXC的最佳操作路径。 1、源数据库配置 xtrabackup 工具,快速备份源数据到nfs; 2、目的数据库集群配置最新版本的 MySQL PXC 集群软件; 3、目的数据库集群节点
借本次数据库迁移实践,再次总结一下MySQL数据库迁移到PXC的最佳操作路径。 1、源数据库配置 xtrabackup 工具,快速备份源数据到nfs; 2、目的数据库集群配置最新版本的 MySQL PXC 集群软件; 3、目的数据库集群节点 node1 采用 xtrabackup 导入备份数据; 4、使用合适的配置文件在 node1 拉起数据库; 5、node2 加入集群,node3 加入集群。 以上1、2步比较简单,在此略过,以下强调后面的步骤,请项目参考使用。 三、node1 导入备份数据 ■ 准备数据路径 mkdir -p /u01/mysql/data mkdir -p /u01/mysql/tmp chown -R mysql.mysql /u01/mysql ■ 删除datadir所有文件 DATADIR=/u01/mysql/data cd ${DATADIR} rm -rf * ■ 设置环境变量 USER=root PASSWORD='passwd' FULL_DIR=/u01/mysqlbak/2023-10-18/ PARALLEL=10 ■ 准备全量备份的日志 LOG_FILE=/tmp/prepareAll_`date +"%Y%m%d-%H%M"`.log xtrabackup --prepare --apply-log-only --parallel=${PARALLEL} --target-dir=${FULL_DIR} > ${LOG_FILE} 2>&1 & 【耗时】8分钟,573G ■ 全备份准备 LOG_FILE=/tmp/prepareLast_`date +"%Y%m%d-%H%M"`.log xtrabackup --prepare --parallel=${PARALLEL} --target-dir=${FULL_DIR} > ${LOG_FILE} 2>&1 & 【耗时】4分钟,573G ■ 拷回数据 LOG_FILE=/tmp/copyback_`date +"%Y%m%d-%H%M"`.log xtrabackup --user=${USER} --password=${PASSWORD} --copy-back --parallel=${PARALLEL} --target-dir=${FULL_DIR} > ${LOG_FILE} 2>&1 & 【耗时】34分钟,573G 四、node1 拉起数据库 ■ 修改数据目录权限和属性 chown -R mysql:mysql ${DATADIR} ■ 启动 注意,此时需事先配置数据库参数文件 systemctl start mysql@bootstrap 五、node2 加入集群 只要配置好合适的配置文件,node2 加入集群非常简单,只需执行启动命令: systemctl start mysql 此时查看 node1、node2 的数据库日志,可以看到双方角色的变换,node1 作为 DONOR 通过 SST 将数据全量同步给了 node2,之后 node2 成功加入集群。 六、node3 加入集群 七、PXC配置文件是本次实践的重点内容 需确保源数据库的配置参数与新集群的配置参数合理组合。
阅读全文