原文出處:http://bbs.mysql.cn/viewthread.php?tid=72&extra=page%3D1%26filter%3Ddigest
關於MYSQL資料的匯出匯入與版本的轉換
最近看到好多人在詢問mysql
匯入匯出的問題,於是就簡單的總結一些我的使用經驗,供大家參考,有不合理的地方歡迎交流!
一、Mysql 資料的匯出
有的站長經常用一種最直接的辦法就是拷貝資料庫檔案夾的辦法,這個方法確實簡單,但是不提倡,在跨版本或者跨不同字元集系統是很容易出問題。再說了資料庫4.1版本有兩種儲存資料的方式在配置的時候可選,一種是和以前一樣的每個資料庫存放在單獨的檔案夾裡,另一種叫什麼來著我忘了,這種所有的資料庫都放在一個檔案裡,巨大的一個檔案!,所以對於後者就不可以用拷貝的方法了,用什麼呢?下面介紹:
就是mysql 內建的工具 mysqldump ,這個工具十分強大,可以匯出資料,並且可以匯出不同版本的資料、也可以匯出用於其他資料庫的資料,太牛了。
這個工具實在命令列、cmd下用的 ,如果你的msyql/bin目錄沒有配置在系統的環境變數裡,就先cd到mysql/bin目錄。
1、
先介紹簡單得匯出: mysqldump -u 資料庫使用者名稱 -p 資料庫名稱 [表名] > 匯出到檔案的路徑名
例如:我要匯出
test_db 這個資料庫 我的資料庫使用者為 root 沒有密碼(沒有密碼就不用加 -p 了):
mysqldump -u
root test_db > c:\test.sql 這樣就可以到處test這個資料庫了
如果我要匯出 test
資料庫中的user 表 用 ajin 這個使用者 密碼是 123
mysqldump -u ajin -p test_db user
>c:\test_user_table.sql 斷行符號後提示輸入密碼就可以了
2、 在匯出過程中改變資料庫預設的字元集
例如: 我要匯出 test_db 這個資料庫 轉換編碼為 utf8 (utf8 我最常用的)
mysqldump -u ajin -p --default-character-set=utf8 test_db >c:\test.sql
就可以了
轉換成其他字元只需替換 utf8
就可以了
3、匯出不同版本資料或者匯出給資料庫用的資料
例如:我的資料庫 Mysql 4.1 的 我要匯出一個 預設字元集
utf8 的 4.0版本的資料
mysqldump -u ajin -p test_db --compatible=mysql40
--default-character-set=utf8 test_db >c:\test.sql
就可完成了所謂的降級
--compatible= 可以跟得參數有 mysql323 mysql40 oracle mssql db2
等等
匯出就介紹這些常用的,其實還有好多好多。。省略一千字.....
二 資料的匯入
這個相對就比較簡單了, 這個在命令列、cmd下用的
,如果你的msyql/bin目錄沒有配置在系統的環境變數裡,就先cd到mysql/bin目錄。
比如我要匯入 test.sql
這個資料到 discuz_db 這個資料庫
mysql -u ajin -p discuz_db
<c:\test.sql 斷行符號提示輸入密碼 ,如果沒有密碼的使用者 就不用加 -p
了
好了就先總結這麼多,歡迎大家交流,其中不免會有錯誤,請多指教~~
http://ajin.blog.im286.com/archives/2005/902.shtml