本文档旨在提供一种不需要导出数据,从现有MySQL数据库快速迁移至PhxSQL的方法,需要数据库格式兼容。若是数据库格式不兼容的情况,则需要使用mysqldump或类似工具进行导出导入。
PhxSQL使用percona-server-5.6 (对应MySQL 5.6),参考本文档进行迁移前请先确认现有的数据库格式与该版本兼容,迁移前请做好备份工作😃。
假设你希望将PhxSQL安装在/tmp/data/,迁移流程如下:
/tmp/data/
手工新建percona工作目录mkdir -p /tmp/data/percona.workspace/{data,innodb,binlog,tmp}。
mkdir -p /tmp/data/percona.workspace/{data,innodb,binlog,tmp}
将原MySQL数据库的datadir目录中的数据拷贝至/tmp/data/percona.workspace/data,innodb_data_home_dir中的数据拷贝至/tmp/data/percona.workspace/innodb。不需要拷贝binlog文件,PhxSQL安装后会生成新的binlog。
datadir
/tmp/data/percona.workspace/data
innodb_data_home_dir
/tmp/data/percona.workspace/innodb
原MySQL的datadir和innodb_data_home_dir具体位置根据你原来的my.cnf配置确认,如果innodb_data_home_dir没有设置,它默认跟datadir相等,其中innodb相关的文件一般文件名以ib或undo开头。
my.cnf
检查/tmp/data/percona.workspace/data/auto.cnf是否存在,若有,删除它,让PhxSQL生成新的server-uuid。
/tmp/data/percona.workspace/data/auto.cnf
三台机都如步骤1,2拷贝了相同的数据库后,分别执行python2.7 install.py -i IP -p 54321 -g 6000 -y 11111 -P 17000 -a 8001 -f/tmp/data/ -s1,-s1表示保留现有数据库。
python2.7 install.py -i IP -p 54321 -g 6000 -y 11111 -P 17000 -a 8001 -f/tmp/data/ -s1
-s1
进入常规的PhxSQL部署流程,在其中一台机上执行./phxbinlogsvr_tools_phxrpc -f InitBinlogSvrMaster -h"ip1,ip2,ip3" -p 17000,初始化集群。
./phxbinlogsvr_tools_phxrpc -f InitBinlogSvrMaster -h"ip1,ip2,ip3" -p 17000
步骤5开始遇到问题可参考 部署手册。
There was an error while loading. Please reload this page.