必要知識:
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后才能在平臺用導入.