2008年9月30日 星期二

MySQL 匯出匯入指令

[匯出]
mysqldump -u userid -e -p db_Name > xxxxx.sql


[有條件匯出]
mysqldump -u帳號 -p密碼 -h主機 資料庫 資料表 -w "sql條件" > 出輸路徑及檔案
例:
mysqldump -uroot -p123456 -hlocalhost -e AREA_UTF8 city -w "c_id<10 " > /home/web/a.txt

--no-create-info,-t
只導出資料,而不添加 CREATE TABLE 語句;如果導出格式為SQL語句,則只有insert into部分。
--no-data,-d
不導出任何資料,只導出資料庫結構
--quick,-q
在導出大量資料很有用,強制從 MySQL Server 查詢取得記錄直接輸出,而不是取得所有記錄後存在記憶體中。


[匯入]
mysql -u userid -p [-h localhost] db_Name < xxxxx.sql


[匯出後立即匯入到另一台主機]
mysqldump -u [SOURCE_userid] -h [SOURCE_IP] -e -q --password=[SOURCE_PASSWORD] SOURCE_db_Name | mysql -u [DISTANCE_userid] --password=[DISTANCE_PASSWORD] -h [DISTANCE_IP] DISTANCE_db_Name

7 則留言:

提到...

請問我在匯入其他台電腦出現
Can't connect to MySQL server on 'xx.xx.xx.xx' (111)
mysqldump: Got error: 1045: Access denied for user 'root'@'xx.xx.xx.xx.HINET-IP.hinet.net' (using password: YES) when trying to connect

這是甚麼原因呢?

提到...

請問我在操作匯出至另一台電腦時出現

ERROR 1130 (HY000): Host 'xx-xx-xx-xx.HINET-IP.hinet.net' is not allowed to connect to this MySQL server
mysqldump: Got error: 1045: Access denied for user 'root'@'xx-xx-xx-xx.HINET-IP.hinet.net' (using password: YES) when trying to connect

這樣是什麼問題呢?

小麥 提到...

'root'@'xx.xx.xx.xx.HINET-IP.hinet.net'

這是指root在 'xx.xx.xx.xx.HINET-IP.hinet.net' 並沒有權限連入
你需設定root可使用'xx.xx.xx.xx.HINET-IP.hinet.net'連入

原子能 提到...

受用感謝

小麥 提到...

謝謝!!

Unknown 提到...

若匯出的檔案後面多了個問號如下:
xxx.sql?
這是表示匯出的過程中有錯誤發生嗎?

小麥 提到...

會不會是匯出指令, 多打個中文字或全型空格, 才因而出現 ?