發布時間:2019-04-10 瀏覽次數:3324
本實驗中使用的是MySQL5.5數據庫,搭建好的wordpress網站。MySQL安裝路徑為D:\PHPWEB\MySQL Server 5.5目錄下,mysql賬號root密碼123456。我們這次要備份的數據庫是網站用的wordpress數據庫。
注:備份數據庫時無需停止MySQL服務。
一、使用mysqldump備份單個數據庫、多個數據庫以及全庫。
1.首先通過命令mysql –uroot –p123456登錄上數據庫,登陸成功后輸入show databases;顯示處所有的數據庫。
也可以通過phpmyadmin登錄查看當前所有的數據庫。
Wordpress數據庫下的表。附圖。

2.命令行下進入Mysql安裝目錄/bin目錄D:\PHPWEB\MySQL Server 5.5\bin,附圖


然后使用下面這個命令導出數據庫:mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名
示例:
mysqldump -uroot –p123456 wordpress > test.sql

回車后,沒有任何提示代表執行成功,進入D:\PHPWEB\MySQL Server 5.5\bin目錄下查看wordpress數據庫已經備份成功為test.sql文件。注:不指定路徑,默認會備份到D:\PHPWEB\MySQL Server 5.5\bin目錄下,如下圖:

3.備份服務器上所有數據庫:
命令mysqldump –uroot –p123456 -–all-databases > allbackupfile.sql附圖

進入D:\PHPWEB\MySQL Server 5.5\bin目錄下可以查看備份出來的allbackupfile.sql文件。附圖

4.備份MySQL數據庫某個(些)表
mysqldump -uroot -p123456 databasename specific_table1 specific_table2 > backupfile.sql
示例:
備份出wordpress數據庫下的兩個表

5.同時備份多個MySQL數據庫
mysqldump -uroot -p123456 -databases databasename1 databasename2 databasename3 > multibackupfile.sql
示例:


如果需要備份數據庫到指定的目錄下,在命令后端加入路徑即可。
實例:備份數據庫到D盤根目錄下,附圖


二、實現定時備份數據庫。
1.定時備份單個數據庫
本次要實現的是在每天凌晨2:00進行自動備份。
針對備份單個數據庫創建批處理文件backdb.bat,加入如下代碼:
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
D:\PHPWEB\MySQLServer5.5\bin\mysqldump --opt -uroot -p123456 wordpress > D:\db_backup\wordpress_backup.sql
@echo on
注意:mysql安裝路徑不能存在空格,因此安裝MySQL時一定要注意不要創建有空格的目錄。
附圖:
然后創建計劃任務,如下圖:



在2:00過后,查看D:\db_backup目錄下,已經有自動備份出來的sql文件,名稱為wordpress_backup.sql,附圖:
2.定時備份全庫。
針對備份所有數據庫創建批處理文件allbackdb.bat,加入如下代碼:
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
D:\PHPWEB\MySQLServer5.5\bin\mysqldump --opt -uroot -p123456 --all-databases > D:\db_backup\allbackupfile.sql
@echo on
在2:00過后,查看D:\db_backup目錄下,已經有自動備份出來的sql文件,名稱為allbackupfile.sql,附圖:
三、附導出MySQL數據庫方命令:
進入D:\PHPWEB\MySQLServer5.5\bin目錄下,執行mysqldump -uroot -p123456 dbname > D:\db_backup\db.sql
實測及查詢網絡相關教程,使用mysqldump備份數據庫與導出數據庫命令一致。
總結:
備份單個數據庫命令為
mysqldump -uroot -p123456 dbname > D:\db_backup\db.sql
備份多個數據庫命令為
Mysqldump -uroot -p123456 -databases dbname1 dbname2 dbname3 > D:\db_backup\ multibackupfile.sql
備份MySQL數據庫某個(些)表命令為
mysqldump -uroot -p123456 databasename specific_table1 specific_table2 > D:\db_backup\ backupfile.sql
備份服務器上所有數據庫命令為
mysqldump –uroot –p123456 -–all-databases > D:\db_backup\allbackupfile.sql
還原數據庫命令為
mysqldump -uroot -p123456 dbname < D:\db_backup\db.sql