前言
公司数据库文件太大, 备份下来18G, 创建了测试数据库
想将数据库备份文件还原到测试库中
通过source还原只还原了一半的表就断了
各位可能其它更加优秀的解决方案
下面是其中一个思路
通过Shell脚本同步没有同步成功的表
#!/bin/sh
for i in `mysql -uroot -p数据库密码 -Bse "select a.TABLE_NAME from
(select table_name from information_schema.TABLES where TABLE_SCHEMA='测试库') as a
left join (select table_name from information_schema.Tables where TABLE_SCHEMA='正式库') as b on a.TABLE_NAME=b.TABLE_NAME
where b.TABLE_NAME is null" | awk '{print $1}'`
do
mysql -uroot -p数据库密码 -e "create table 测试库.$i select * from 正式库.$i"
done
注 意 : c r e a t e t a b l e 这 种 复 制 数 据 库 的 方 式 不 会 复 制 主 键 , 索 引 , 外 键 \color{#FF0000}{注意: create table 这种复制数据库的方式不会复制主键,索引,外键} 注意:createtable这种复制数据库的方式不会复制主键,索引,外键