如何在轉(zhuǎn)儲(chǔ) sql 文件中包含 create database 語(yǔ)句
在 navicat 中,通過(guò)右鍵單擊數(shù)據(jù)庫(kù)名稱(chēng)并選擇“轉(zhuǎn)儲(chǔ) sql 文件”只能備份表數(shù)據(jù),無(wú)法生成創(chuàng)建數(shù)據(jù)庫(kù)的 sql 語(yǔ)句。手動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)難免容易出錯(cuò),帶來(lái)不便。
解決方案:使用 mysqldump
為了完整地備份數(shù)據(jù)庫(kù),包括創(chuàng)建數(shù)據(jù)庫(kù)的語(yǔ)句,可以使用 mysqldump 工具。具體步驟如下:
mysqldump -utest -p -b test > test.sql
登錄后復(fù)制
其中:
- -utest:指定數(shù)據(jù)庫(kù)用戶(hù)名
- -p:提示輸入密碼
- -b:生成創(chuàng)建數(shù)據(jù)庫(kù)語(yǔ)句
- test:待備份的數(shù)據(jù)庫(kù)名稱(chēng)
- test.sql:備份文件名稱(chēng)
mysqldump 生成的 sql 文件會(huì)包含創(chuàng)建數(shù)據(jù)庫(kù)語(yǔ)句:
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */ /*!80016 DEFAULT ENCRYPTION='N' */; USE `test`;
登錄后復(fù)制
這樣,在還原數(shù)據(jù)庫(kù)時(shí),只需要運(yùn)行導(dǎo)出的 sql 文件即可自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)和恢復(fù)數(shù)據(jù),無(wú)需手動(dòng)操作。