我想知道我怎麼可以得到下面的文件,MySQL轉儲所有數據庫並在導入時創建(或重新創建)它們?
mysqldump -h server -u root -p --all-databases > all_dbs.sql
自動創建尚未創建,導入時的任何數據庫。另外,如果數據庫已經存在,它應該重新創建它(覆蓋舊數據庫)。
這可能嗎?謝謝!
我想知道我怎麼可以得到下面的文件,MySQL轉儲所有數據庫並在導入時創建(或重新創建)它們?
mysqldump -h server -u root -p --all-databases > all_dbs.sql
自動創建尚未創建,導入時的任何數據庫。另外,如果數據庫已經存在,它應該重新創建它(覆蓋舊數據庫)。
這可能嗎?謝謝!
Export: mysqldump -u root -p --all-databases > all_dbs.sql
Import: mysql -u root -p < all_dbs.sql
出口:
mysqldump -uroot -p --all-databases > alldb.sql
查找的文檔的mysqldump。您可能需要使用一些在評論中提到的選項:
mysqldump -uroot -p --opt --all-databases > alldb.sql
mysqldump -uroot -p --all-databases --skip-lock-tables> alldb.sql
導入:
mysql -u root -p < alldb.sql
我只是找到了一個新的解決方案:
創建一個bash腳本。它將每個數據庫備份到不同的文件中
#!/bin/bash
USER="zend"
PASSWORD=""
#OUTPUT="/Users/rabino/DBs"
#rm "$OUTPUTDIR/*gz" > /dev/null 2>&1
databases=`mysql -u $USER -p$PASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`
for db in $databases; do
if [[ "$db" != "information_schema" ]] && [[ "$db" != "performance_schema" ]] && [[ "$db" != "mysql" ]] && [[ "$db" != _* ]] ; then
echo "Dumping database: $db"
mysqldump -u $USER -p$PASSWORD --databases $db > `date +%Y%m%d`.$db.sql
# gzip $OUTPUT/`date +%Y%m%d`.$db.sql
fi
done
不使用「mysql」命令導出數據。請改用「mysqldump」。
我來管理,只有保存在服務器:執行 「的MySQL --user =用戶名 - 密碼= passord> somefile.sql」 後
我只是用「的mysql -u
根-p
Garrett
2011-01-20 16:10:49
嘿加勒特,請張貼你的答案作爲答案,這樣,其他人有同樣的問題將能夠看到。參見[FAQ](http://stackoverflow.com/faq)。 – fredley 2011-01-20 16:26:17