如果您要在MySQL數據庫中存儲任何您不想丟失的內容,那么定期備份數據以保護數據免受損失非常重要。本教程將向您展示兩種簡單的方法來備份和恢復MySQL數據庫中的數據。您還可以使用此過程將數據移動到新的Web服務器。
如果您具有對Web服務器的shell或telnet訪問權限,則可以使用mysqldump命令備份MySQL數據。此命令連接到MySQL服務器并創建SQL轉儲文件。轉儲文件包含重新創建數據庫所需的SQL語句。這是正確的語法: $ mysqldump --opt -u [uname] -p [pass] [dbname]> [backupfile.sql]
例如,要使用用戶名“root”并且沒有密碼將名為“Tutorials”的數據庫備份到文件tut_backup.sql,您應該完成以下命令: $ mysqldump -u root -p Tutorials> tut_backup.sql 此命令將“Tutorials”數據庫備份到名為tut_backup.sql的文件中,該文件將包含重新創建數據庫所需的所有SQL語句。 使用mysqldump命令,您可以指定要備份的數據庫的某些表。例如,要從“Tutorials”數據庫中僅備份php_tutorials和asp_tutorials表,請完成以下命令。每個表名必須用空格分隔。 $ mysqldump -u root -p教程php_tutorials asp_tutorials> tut_backup.sql 有時需要一次備份多個數據庫。在這種情況下,您可以使用--database選項,后跟要備份的數據庫列表。每個數據庫名稱必須用空格分隔。 $ mysqldump -u root -p --databases教程文章評論> content_backup.sql 如果要一次備份服務器中的所有數據庫,則應使用--all-databases選項。它告訴MySQL轉儲它在存儲中的所有數據庫。 $ mysqldump -u root -p --all-databases> alldb_backup.sql mysqldump命令還有一些其他有用的選項: --add-drop-table:告訴MySQL在轉儲中的每個CREATE TABLE之前添加DROP TABLE語句。 --no-data:只轉儲數據庫結構,而不轉儲內容。 --add-locks:添加您可以在轉儲文件中看到的LOCK TABLES和UNLOCK TABLES語句。 mysqldump命令有優點和缺點。使用mysqldump的優點是它易于使用,它可以解決您的表鎖定問題。缺點是命令鎖定表。如果你的表的大小非常大,mysqldump可以鎖定用戶很長一段時間。 如果你的mysql數據庫非常大,你可能想要壓縮mysqldump的輸出。只需使用下面的mysql backup命令并將輸出傳遞給gzip,然后您將獲得輸出為gzip文件。 $ mysqldump -u [uname] -p [pass] [dbname] |?gzip -9> [backupfile.sql.gz] 如果要提取.gz文件,請使用以下命令: $ gunzip [backupfile.sql.gz] 上面我們將Tutorials數據庫備份到tut_backup.sql文件中。要重新創建Tutorials數據庫,您應該遵循以下兩個步驟:
$ mysql -u [uname] -p [pass] [db_to_restore] <[backupfile.sql] 看看如何將tut_backup.sql文件恢復到Tutorials數據庫。 $ mysql -u root -p Tutorials <tut_backup.sql 要恢復壓縮備份文件,您可以執行以下操作: gunzip <[backupfile.sql.gz] |?mysql -u [uname] -p [pass] [dbname] 如果需要還原已存在的數據庫,則需要使用mysqlimport命令。mysqlimport的語法如下: mysqlimport -u [uname] -p [pass] [dbname] [backupfile.sql] 使用PHPMyAdmin備份和恢復 由于許多Web服務提供商使用它,因此假設您安裝了phpMyAdmin。要使用PHPMyAdmin備份MySQL數據庫,只需按照以下幾個步驟操作:
恢復數據庫很容易,也可以備份。進行以下操作:
MySQL備份軟件 如果您管理多個MySQL服務器,則可以考慮使用MySQL備份的商業解決方案。一種解決方案可能是Backup Bird。它是一個完整的云服務器備份服務,可監控每個備份的進度并備份您的文件以及數據庫。 |
原文鏈接:http://webcheatsheet.com/sql/mysql_backup_restore.php