0
我有两个数据库。 网站使用第一个数据库。 二是用于测试站点调试。Mysql数据库。用外键删除所有表。复制所有表
每天几次我必须更新测试网站数据库。
我没有root访问权限来删除并创建调试数据库。 所以我不得不放弃所有表忽略外键;备份和恢复从firts数据库到第二个表。
所有表都是具有外键的InnoDB。
我有两个数据库。 网站使用第一个数据库。 二是用于测试站点调试。Mysql数据库。用外键删除所有表。复制所有表
每天几次我必须更新测试网站数据库。
我没有root访问权限来删除并创建调试数据库。 所以我不得不放弃所有表忽略外键;备份和恢复从firts数据库到第二个表。
所有表都是具有外键的InnoDB。
#!/bin/bash
USERNAME=root
PASSWORD=xxx
DBFROM=xxx
DBTO=xxx
HOST=localhost
MYSQL_OPTS="-u $USERNAME -p$PASSWORD -h $HOST"
TABLES=$(mysql $MYSQL_OPTS -BNe "show tables" $DBTO | tr '\n' ',' | sed -e 's/,$//' | awk '{print "SET FOREIGN_KEY_CHECKS = 0;DROP TABLE IF EXISTS " $1 ";SET FOREIGN_KEY_CHECKS = 1;"}')
mysql $MYSQL_OPTS -BNe "$TABLES" $DBTO
mysqldump $MYSQL_OPTS $DBFROM | mysql $MYSQL_OPTS $DBTO