如何将数据库A中的所有表复制到数据库B中不存在的数据库B?两个数据库都在同一台服务器上。
感谢您的想法:)!
答案 0 :(得分:0)
您可以使用下面的脚本,它只复制那些表,在目标数据库中不存在。
#!/bin/bash
USER=root
PASS=root123
SOURCE_DB=db1
TARGET_DB=db2
TBL=`mysql -u$USER -p$PASS -e"SET group_concat_max_len=102400;SELECT GROUP_CONCAT(DISTINCT a.table_name SEPARATOR ' ') FROM information_schema.tables a LEFT JOIN information_schema.tables b ON a.table_name=b.table_name AND b.table_schema='$TARGET_DB' AND b.table_type='BASE TABLE' WHERE a.table_schema='$SOURCE_DB' AND b.table_name IS NULL AND a.table_type='BASE TABLE';"`
mysqldump --single-transaction -u$USER -p$PASS $SOURCE_DB $TBL | mysql -u$USER -p$PASS $TARGET_DB
将root更改为您的用户
root123,用户密码
db1到您的源数据库
db2到目标数据库