星期四, 1月 02, 2014

MySQL備份

剛剛試了一下 MySQL的備份,其實真的很簡單。
因為平時都會使用CMD (command line mode)到MySQL/bin底下的目錄使用帳密登入。
所以會發現,MySQL/bin底下其實所有的.exe檔就是MySQL的所有功能了。

很明顯的你要備份資料就是使用MySQLDUMP,所以使用方法如下。
備份:
C:\ ....\ mysql/bin > mysqldump --user=root -p [database名字] > [相對於bin目錄底下的檔案路徑]

這邊有兩點要注意
1. 平時我都是用 mysql -uroot -p登入,但是這邊好像不寫 --user=root是行不通的
2. [相對於bin目錄底下的檔案路徑] 除了那個檔案是可以不存在的以外,其他路徑上的目錄都必需是存在的唷。如: [相對於bin目錄底下的檔案路徑]=backup/[database名字].sql。那麼就必需在bin目錄底下有一個backup的資料夾,不然程式不會理妳的。

然後寫回去也是一樣 就只是箭頭的方向不一樣,就是寫回去了!

但我剛剛測試的結果,我想從mysql 5.X版dump資料,之後寫入MariaDB 5.X版。
因為兩個的基本架構都一樣是mysql,而且MariaDB裡面連.exe檔都一樣叫mysqldump
所以我以為可行。

其實,這也難不倒我們。打開dump的檔案看看,你會發現它就是一個完整的source file,也就是你可以進入database裡面,使用source的指令就把全部的資料一次倒進去。
不過,因為預設mysqldump回去的時候會幫忙先建立資料庫(database)所以會看到上面並沒有
create database的指令。所以我就在這個檔案的最前面加入了
create database [database名字]
use [database名字]
以上兩行。然後進入MariaDB,使用source指令匯入這個.sql檔~ 果然成功了~ 一點都不難。哈哈 省去我自己寫dump的時間。

以上一點小小且簡單的概念推廣給大家知道!