這是我第一次寫部落格,若有表達的不好或有什麼錯誤,歡迎指教,希望大家都能在錯誤失敗中成長。客氣話不多說,下面切入正題。
最近公司專案需要,要備份mysql資料庫,由於專案的資料庫個數很多有300多個,所以希望寫乙個工具完成備份還原操作。網上搜查了一下資料mysql備份,最簡最快的方法是直接拷貝檔案,但是這種方法可能在不同版本的mysql中還原出現問題,具體怎麼操作,複製的檔案在哪找,我也沒有去認真考究,網上很多人提到直接複製法但都沒有說明具體的操作步驟,希望有試過的人可以和大家分享下你的想法。而我選擇的是用mysql自帶的工具mysqldump.exe,我會分兩部分介紹,第一部分介紹cmd命令備份還原,第二部分,具體在c#中如何實現和製作乙個批量備份還原工具。下面開始介紹mysqldump工具的命令使用方法先。
mysqldump.exe這個程式大家可以在~\mysql\mysql server 5.5\bin中找到,而我的在c:\program files\mysql\mysql server 5.5\bin中,下面以此為例,使用cmd命令操作。開啟cmd輸入命令 cd c:\program files\mysql\mysql server 5.5\bin 回車進入操作目錄,現在我們可以輸入命令 mysqldump --help回車檢視mysqldump的幫助說明。我簡單介紹可能用到的引數如下:
--host=value或-hvalue :這個引數是指定mysql伺服器的位址,value就是具體位址,注意u和value之間沒空格,例如--host=192.168.1.111或--hlocalhost
--user=value 或-uvalue :指定mysql的賬號登入名,value就是具體的賬號名 ,如-uroot
--password=value或-pvalue: 指定mysql的登入密碼;
--port :mysql埠號,預設3306
--default-character -sets=value :指定字元編碼型別 如:--default-character -sets=utf8,這裡要根據自己配置的實際情況設定,否則匯出的資料會亂碼
--force 或-f :即使我們在乙個表傾倒期間得到乙個sql錯誤,繼續。
--qucik 或 -q:選項在匯出大表時很有用,它強制 mysqldump 從伺服器查詢取得記錄直接輸出而不是取得所有記錄後將它們快取到記憶體中。
--no-data 或 -d :不匯出任何資料,只匯出資料庫表結構。
--opt :這只是乙個快捷選項,等同於同時新增 --add-drop-tables --add-locking --create-option --disable-keys --extended-insert --lock-tables --quick --set-charset 選項。本選項能讓 mysqldump 很快的匯出資料,並且匯出的資料能很快導回。該選項預設開啟,但可以用 --skip-opt 禁用。注意,如果執行 mysqldump 沒有指定 --quick 或 --opt 選項,則會將整個結果集放在記憶體中。如果匯出大資料庫的話可能會出現問題。
其他的選項自己查資料吧。下面我們開始寫一條匯出資料的命令:
輸入:mysqldump -hlocalhost -uroot -proot --default-character-set=utf8 --lock-tables --routines --force --quick dbname>d:\backup.sql
回車 (dbname為要匯出的資料庫的名稱,d:\backup.sql為匯出的資料存放的地方,上面那條命令匯出了庫中所有表的結構和資料,以及函式和儲存過程)
如果要只匯出結構不要資料那麼加個-d引數即可。
下面說說匯出的資料如何恢復呢。恢復時我們用到mysql.exe程式,同樣啟動cmd,進入c:\program files\mysql\mysql server 5.5\bin目錄(輸入:cd :\program files\mysql\mysql server 5.5\bin)然後輸入還原命令如下:
mysql --hlocalhost -uroot -proot --default-character-set=utf8 dbname
通過mysql --help 你可以檢視到乙個引數選項 :-e,--execute=name ,這個選項可以執行sql語句,name就是具體的語句,注意這裡name要用引號引起來,否則不能執行,我也是弄了好久才發現這個原因,例如輸入:
mysql --hlocalhost -uroot -proot --default-character-set=utf8 -execute=「create database if not exists dbname ;" 回車,即可建立dbname資料庫
好了第一部分講完了,脖子痛啊 ,不適用那麼那麼長時間打字啊,第一次寫部落格還真有點累,休息下,下會繼續~~~
mysql備份還原命令 MYSQL備份還原命令
mysql中如何操作備份資料以及還原備份資料,那實際的操作命令是什麼呢?下面我們來看看實際測試過程。其中,c program files mysql mysql server 5.1 bin 路徑為你mysql的安裝路徑。一 備份命令 在 開始 執行 輸入cmd 進入cmd命令介面,輸入 cd c ...
linux精簡 備份還原 iso檔案 批量安裝?
不過沒有找到類似windows那樣的ghost盤安裝的形式,不知一般是如何做的?可以製作精簡的核心和啟動光碟等任何複雜的操作,不過步驟也最多 linux from scratch 6.6 把乙個機器的某個分割槽或整個磁碟進行備份和還原 定製基於kickstart的red hat enterprise...
備份還原 資料庫備份和還原
最近在搞封閉開發,有些東西基本上都忘記了,在網上重新搜尋了一下貼子,總結了一下檔案組備份和還原的一些東西 環境 microsoft corporation developer edition on windows nt 5.1 build 2600 service pack 3,v.5755 1 建...