公司有個需求,要天天備份下一個即時通軟件的Mysql數據庫,下面是我寫的運行在windows下的版本文件。設置個定時任務,沒事讓它本身背就能夠了。mysql
D:sql
cd D:\test數據庫
rem 設置變量:備份文件名windows
SET BAK_FILE=%date:~0,4%%date:~5,2%%date:~8,2%服務器
rem 設置變量:日誌文件名app
SET LOG_FILE=MY_DBBAK.logide
SET RAR_CMD="C:\Program Files\WinRAR\Rar.exe"spa
rem 記錄日誌日誌
echo "%date%" 》 %LOG_FILE%code
rem 開始作備份
mysqldump -h localhost -u root -pmasicong --single-transaction -databases masicong zhangwang > %BAK_FILE%.sql
rem 壓縮備份文件
%RAR_CMD% a %BAK_FILE%.rar %BAK_FILE%.sql
rem 刪除源文件
del /F %BAK_FILE%.sql
PAUSE
--------------------------------------------------------------
備份MySQL數據庫的命令
備份MySQL數據庫爲帶刪除表的格式
備份MySQL數據庫爲帶刪除表的格式,可以讓該備份覆蓋已有數據庫而不須要手動刪除原有數據庫。
直接將MySQL數據庫壓縮備份
備份MySQL數據庫某個(些)表
同時備份多個MySQL數據庫
僅僅備份數據庫結構
備份服務器上全部數據庫
還原MySQL數據庫的命令
還原壓縮的MySQL數據庫
將數據庫轉移到新服務器
1.導出整個數據庫
mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名
mysqldump -u root -p dataname >dataname.sql
這個時候會提示要你輸入root用戶名的密碼,輸入密碼後dataname數據庫就成功備份在mysql/bin/目錄中.
2.導出一個表
mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名
mysqldump -u root -p dataname users> dataname_users.sql
3.導出一個數據庫結構
mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:/wcnc_db.sql
-d 沒有數據 –add-drop-table 在每一個create語句以前增長一個drop table
4.導入數據庫
經常使用source 命令
進入mysql數據庫控制檯,
如mysql -u root -p
mysql>use 數據庫
而後使用source命令,後面參數爲腳本文件(如這裏用到的.sql) mysql>source d:/wcnc_db.sql