close
有鑑於本公司目前許多資料都是記錄在MySQL資料庫裡,常常會有事沒事的進資料庫看資料;然而在修改的過程中難免會有失誤,如果一不小心把資料庫裡的資料刪除了就欲哭無淚啦~因此,資料庫的備份就變得分外重要囉!

上網找了很多資料,大部分的MySQL資料庫備份法都是以Linux備份為主;可惜我們是用M$的作業系統,所以花了一點時間在找方法。所幸Windows有提供「工作排程」的方法,同樣可以提供每日、每周或每月設定時間。上面這個連結是採用Windows定時執行PHP的方式,使用mysqldump這個MySQL本身就有參數進行備份。不過我比較不解的地方是,直接使用批次檔執行mysqldump就可以啦~為什麼還要透過PHP?

不囉唆,下面是批次檔中mysqldump備份的語法:

C:\AppServ\MySQL\bin\mysqldump --opt -u*** -p*** Database_name >D:\%date:~0,4%-%date:~5,2%-%date:~8,2%.sql

-u:MySQL使用者名稱
-p:MySQL使用者密碼
Database_name:MySQL資料庫名稱
%date:~0,4%:這個是運用DOS本身的環境變數指令「date」,從第「o」位開始取「4」位;因為原本的「date」出來會有「/」不能當作檔名,所以必須取三次再自己用「-」連結。

使用方法參考: Mysql自動製作備份批次處理 for windows

這樣就可以把MySQL資料庫備份檔案,以「2008-01-29.sql」的型式備份於「D:\」下囉!另外如果有WinRAR的程式,可以參考連接中再壓縮成RAR檔案備存。

備份出來的檔案當然會有要還原回去的時候啦,還原的方法如下:

C:\AppServ\MySQL\bin\mysqladmin -u*** -p*** create target_db_name

C:\AppServ\MySQL\bin\mysql -u*** -p*** target_db_name < backup-file.sql

-u:MySQL使用者名稱
-p:MySQL使用者密碼
target_db_name:新建MySQL資料庫名稱
backup-file.sql:備份的MySQL資料庫檔案路徑

更詳盡的mysqldum使用方法參考:最簡便的備份MySql資料庫方法

以上,大概描述了一下MySQL於Windows平台下的備份與還原。千金難買早知道,萬般無奈想不到...咱家公司的伺服器還真難伺候,c槽竟然被鎖住了!在束手無策的情況下,又虛擲了不少光陰。

新工作設定紅色箭頭所指向的「開始位置」,輸入MySQL程式所在的絕對位置;這樣批次檔裡的mysqldump就可以正常執行了。

另外在MySQL的使用者方面,也要確認是不是有mysqldump的權限;像我在伺服器上的帳號就沒有mysqldump的權限,所以如果使用我自己的帳號時,mysqldump也會被MySQL拒絕。

在使用環境變數前,也要先確定%date%的格式,在我自己的電腦上是「2008/01/29」,但是在伺服器上卻是「星期二 2008/01/29」;這一點在擷取日期環境變數為檔名時,一定要先echo %date%看看格式。
arrow
arrow
    文章標籤
    Augmented Reality AR
    全站熱搜
    創作者介紹
    創作者 danielhuang030 的頭像
    danielhuang030

    danielhuang030 的研究日誌

    danielhuang030 發表在 痞客邦 留言(0) 人氣()