周梦康 发表于 2015-02-27 4998 次浏览 标签 : LinuxMysqldba

需要是把表a(后台数据库)的数据都导入到表b(前台数据库)中去。计划的时候凌晨0点做,因为这个时候使用后台的人少,首先我在代码上的控制是从0点开始,所有写入操作全部不执行。然后开始倒表。

1.获取database_a数据库的所有表

mysql -uroot -P3306 database_a -e"show tables\G" |grep Tables_in_database_a |awk -F: '{print $2}' > list.txt

2.导出数据

for i in `cat list.txt` ;do mysqldump -uroot -P3306 database_a  $i > table_$i.sql;done

3.导入到database_b里面去

for i in `cat list.txt`;do mysql -uroot -P3306 database_b < table_$i.sql;done


只导出一批指定表结构-d参数

for i in `cat list.txt` ;do /opt/rh/mysql55/root/usr/bin/mysqldump -h host.mysql.rds.aliyuncs.com -u user -pxxx tablename -d $i >> create.sql;done


👇 下面是我的公众号,高质量的博文我会第一时间同步到公众号,给个关注吧!

评论列表