没有本地访问服务器的权限,有没有办法在不使用mysqldump情况下将MySQL数据库(包含内容和不包含内容)复制/克隆到另一个数据库中?
我目前正在使用MySQL 4.0。
#1楼
如果您使用的是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