Mediawiki的數據庫編碼格式可不是utf8的, 是二進制binary格式的, 遷移的時候千萬別搞錯。
mysqldump導出數據的命令行:(Debian GNU/Linux環境)
mysqldump --user=USERNAME --password=PASSWORD --single-transaction --all-databases > BACKUPFILE.sql
以"wikidb"為名字導出數據
mysqldump -u root -p -B wikidb > wikidb.sql
以"wikidb"為名字恢復數據
mysql -u root -p -B wikidb < wikidb.sql
注意, 這個命令設計有個缺陷, 即便你-B 後面的wikidb已經命名了, 系統也只是檢查你的wikidb數據庫的名稱是否存在, 如果用於導入的sql文档wikidb.sql裡面有use xxx字樣, 可能會導入到另外的表裡面。
有的哥們用navicat、phpmyadmin之類的工具來導入, 自己測試了一下, 不好用, 裡面很多關鍵字會觸發內置方法, 容易干到一半就停了;phpmyadmin這個還要調整php的上傳和表單數據大小限制,特別麻煩。乾脆不如用上述命令行的方式來導入呢。
之前學了一些MySQL的皮毛, 自己去捅咕MediaWiki的數據表, 把表引擎改來改去, 反而會引起性能問題。做這個數據表的人水平不錯,值得學習。