必要知識:
mysql編碼:
在mysql的安裝目錄,如:
E:\Program Files\MySQL\MySQL Server 5.0\my.ini
可以找到mysql庫的編碼,大部分情況下,可以設定為uft-8:
default-character-set=utf8
或gbk:
default-character-set=gbk
編碼不對,就會造成無法匯入.修改編碼後要重啟資料庫才會生效.
1.條件:在同一台伺服器,
mysql資料庫可以用平台的匯出匯入功能正常備份及還原.
2.條件:不同伺服器上,在my.ini編碼一致的情況下,
mysql資料庫可以用平台的匯出匯入功能正常備份及還原.
2.條件:不同伺服器上,在my.ini編碼不一致的情況下,
必須修改my.ini成為一致的編碼,mysql資料庫才可以用平台的匯出匯入功能正常備份及還原.
3.對於用phpmyadmin或其他工具匯入的檔案,您需要再次加工後,才能用平台的匯入功能:
以phpmyadmin為例,匯出後,將產生的SQL語句另存新檔一個.sql檔案,然後,用記事本修改它:
(1)找到CREATE DATABASE開頭的這一行如:
CREATE DATABASE `資料庫名` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
在前面加上--符號,取消這行的運行權(原因是匯入時是用普通使用者角度匯入,不允許建立資料庫)
這樣,才有可能用平台的匯入功能匯入.
(2)然後,您可以看看這個庫的編碼是否和您伺服器上的一致
如果編碼不一致,那麼,
<1>要麼用phpmymyadmin重新備份成編碼一致的.sql檔案才能匯入.(在phpmyadmin登陸的首頁可以選編碼)
<2>要麼是修改my.ini中的編碼,並重啟Mysql才能匯入(重啟Mysql可以在伺服器上,管理工具,服務管理中重啟),這種方式成功機會高一些,建議這樣操作.
-----注意,如果由於編碼不對,造成匯入失敗,您需要點清空資料庫才能進行下次匯入(2007-6-12後的主控版本在資料庫面板中有清空的功能)------
以discuz論壇為倒
如果當時安裝的是GBK版本的論壇,那麼,
用phpmyadmin匯出後,編碼就是GBK的,
要想匯入另一台伺服器,必須要將my.ini中設定為:default-character-set=gbk並重啟mysql後才能在平台用匯入.