敕令行形式下備份、復原 MySQL 數據庫的語句小結。本站提示廣大學習愛好者:(敕令行形式下備份、復原 MySQL 數據庫的語句小結)文章只能為提供參考,不一定能成為您想要的結果。以下是敕令行形式下備份、復原 MySQL 數據庫的語句小結正文
為了平安起見,須要常常對數據庫作備份,或許復原。關於 MySQL 而言,最便利的辦法能夠就是用 phpMyAdmin 的導出、導入功效了,但假如你的數據庫體積比擬年夜,作為 Web 運用的 phpMyAdmin 能夠會遭受“超時”而操作掉敗。所以,學會在敕令行形式下備份、復原數據庫,照樣很有需要的。
1、備份數據庫
在 Linux 敕令行形式下備份 MySQL 數據庫,用的是 mysqldump 敕令:
mysqldump -u mysqluser -p test_db
對以上敕令稍作說明:
•-u 意味著你要指定一個 MySQL 用戶名來銜接數據庫辦事,如下面的 mysqluser 即為 MySQL用戶名。
•-p 則意味著你須要有一個有用的,與以上用戶名對應的暗碼。
•最初一個參數則是須要備份的誰人數據庫的稱號:test_db
假如直接履行以上敕令,緊接著就會提醒須要輸出 MySQL 暗碼,數據暗碼後,它會直接將備份出來的 SQL 劇本顯示在屏幕上,這固然不是我們想要的成果。我們須要把數據庫備份成一個文件,可用以下敕令:
mysqldump -u mysqluser -p test_db > test_db.sql
如許,就會在以後目次下備份出一個名為test_db.sql的文件。
固然,假如數據庫體積比擬年夜,平日會對備份出來的文件停止緊縮,備份和緊縮可以在統一行敕令內完成:
mysqldump -u mysqluser -p test_db | gzip > test_db.sql.gz
緊縮的時刻,最好再給文件名加上擴大名.gz,以便下次復原數據庫的時刻心中稀有。
2、復原數據庫
復原數據庫的敕令也很簡略,假如你備份出來的文件是未緊縮的版本,則復原數據庫的敕令以下:
cat test_db.sql | mysql -u mysqluser -p test_db
用cat敕令,把 SQL 劇本內容輸入給 MySQL 法式以便復原。可以看到,MySQL 前面的幾個參數,跟備份時刻的一樣。
假如是已緊縮版本的備份文件,則需用以下敕令能力復原:
gunzip < test_db.sql.gz | mysql -u mysqluser -p test_db
相似地,用gunzip敕令,解緊縮,然後把劇本內容輸入給 MySQL 法式以便復原。
2012-10-08 update:
如不斟酌將 .sql 文件緊縮打包的話,也能夠用上面兩條語句分離導出、導入。
mysqldump -u root -p test_db > test_db.sql
mysql -u root -p test_db < test_db.sql
備份MySQL數據庫的敕令
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
備份MySQL數據庫為帶刪除表的格局
備份MySQL數據庫為帶刪除表的格局,可以或許讓該備份籠罩已稀有據庫而不須要手動刪除原稀有據庫。
mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql
直接將MySQL數據庫緊縮備份
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
備份MySQL數據庫某個(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
同時備份多個MySQL數據庫
mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql
僅僅備份數據庫構造
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql
備份辦事器上一切數據庫
mysqldump –all-databases > allbackupfile.sql
復原MySQL數據庫的敕令
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
復原緊縮的MySQL數據庫
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
將數據庫轉移到新辦事器
mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename