mysql不复制数据_复制/复制数据库而不使用mysqldump
小智..
58
如果您使用的是Linux,則可以使用此bash腳本:(它可能需要一些額外的代碼清理,但它可以工作......而且它比mysqldump | mysql快得多)
#!/bin/bash
DBUSER=user
DBPASSWORD=pwd
DBSNAME=sourceDb
DBNAME=destinationDb
DBSERVER=db.example.com
fCreateTable=""
fInsertData=""
echo "Copying database ... (may take a while ...)"
DBCONN="-h ${DBSERVER} -u ${DBUSER} --password=${DBPASSWORD}"
echo "DROP DATABASE IF EXISTS ${DBNAME}" | mysql ${DBCONN}
echo "CREATE DATABASE ${DBNAME}" | mysql ${DBCONN}
for TABLE in `echo "SHOW TABLES" | mysql $DBCONN $DBSNAME | tail -n +2`; do
createTable=`echo "SHOW CREATE TABLE ${TABLE}"|mysql -B -r $DBCONN $DBSNAME|tail -n +2|cut -f 2-`
fCreateTable="${fCreateTable} ; ${createTable}"
insertData="INSERT INTO ${DBNAME}.${TABLE} SELECT * FROM ${DBSNAME}.${TABLE}"
fInsertData="${fInsertData} ; ${insertData}"
done;
echo "$fCreateTable ; $fInsertData" | mysql $DBCONN $DBNAME
如果您將上述腳本與InnoDB表一起使用并具有外鍵,請將最后一行更改為以下內(nèi)容:`echo"set foreign_key_checks = 0; $ fCreateTable; $ fInsertData; set foreign_key_checks = 1;" | mysql $ DBCONN $ DBNAME` (6認同)
總結(jié)
以上是生活随笔為你收集整理的mysql不复制数据_复制/复制数据库而不使用mysqldump的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 求反函数_逆累积分布函数,
- 下一篇: pandas python2_Pytho