MySQL多数据库合并到一个数据库

背景:将多台mysql服务器上的库合并到一台

实现原理:(如果分平台给的数据是sql那第3、4、5步可以省略)

1、首先用innobackupex将原数据库文件导出

2、创建新的数据库

3、innobackupex将原数据库文件依次导入到新库

①关闭数据库
service mysqld stop
②移动data
mv data data_old
③导入分平台的数据(还原分平台的data)
innobackupex  --defaults-file=/etc/my.cnf --copy-back --rsync /tools/dada/shjWeb && chown -R mysql:mysql /application/data

4、将data目录更名为data_***,依次更名所有的分平台数据资源

mv data data_fpt1

5、数据库导出为sql,命名为sql_***

mysqld_safe --skip-grant-tables &        //无密码启动mysql
mysql                                    //测试无密码登录,登录失败的话重启服务器重试
mysqldump -u root pnk > slu.sql          //导出为sql

service mysqld stop
将所有数据库按上述方法导出为SQL

6、创建各分平台数据库名,并将sql导入

mysql -u root -p -e "CREATE DATABASE databasename" 
mysql -u root -p databasename < databasename.sql

 

posted @ 2021-01-20 16:27  abm  阅读(3225)  评论(0编辑  收藏  举报