1.情况: 现有服务器数台。 A:新DB server B:旧DB server C:多台APP server
由于机房问题导致C不能连接B,现在将B的ucenter数据库迁至A机(A和B的mysql版本一致) 注意:使用直接拷迁贝方式,迁移时会影响在线业务的使用
2.准备工作 A机使用phpmyadmin创建C机程序所需用户,并刷新权限 下载并修改C机程序的相关数据库配置文件 B机修改my.cnf,开启query log,如果数据库迁移后程序依然往这里写,可以进行补救
log = /opt/mysql/var/query_log.logreload B机 mysql
/opt/mysql/bin/mysql reload3.开始迁移 在B机上打开2个ssh客户端。 在1客户端上锁定B机数据库,此时访问有写请求的程度时会出错长时间不响应,或404错误 锁表可能会有写丢失,关闭mysql后再拷靠谱点。
/opt/mysql/bin/mysql -uroot -p #输入root密码 mysql>FLUSH TABLES WITH READ LOCK;执行锁定后,另一个客户端开始打包
cd /opt/mysql/var tar cf ucenter.tar ucenter #移至可以下载目录 mv ucenter.tar /opt/lampp/htdocs/sns/4.下载解压并启用新数据库 A机,下载数据库并解压
cd /opt/mysql/var wget -c http://i.c1gstudio.com/ucenter.tar tar xf ucenter.tar mv ucenter.tar ..让数据库生效
/opt/mysql/bin/mysql reload5.更新数据库配置文件 C机上机并更新程序配置文件
6.检查迁移情况 通过phpmyadmin查看更新情况 正常情况下A机ucenter不断更新
7.解锁 B机,释放锁
mysql>UNLOCK TABLES;这时B机的ucenter库应该不再有更新。
7.清理文件 迁移已完成,按需要进行清理
B机 删除mysql旧账号 关闭query log
#log = /opt/mysql/var/query_log.log删除ucenter数据库,reload B机 mysql
rm -rf /opt/mysql/var/discuz /opt/mysql/bin/mysql reload删除数据库打包文件
rm /opt/lampp/htdocs/sns/ucenter.tarA机 删除打包文件
rm /opt/mysq/discuz.tar
No Responses (yet)
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.