原文出處:
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 了
好了就先總結這么多,歡迎大家交流,其中不免會有錯誤,請多指教~~
posted on 2007-08-13 15:58
冬天出走的豬 閱讀(143)
評論(0) 編輯 收藏 所屬分類:
Database