Discuz 使用 MySQL 8.0 沒法建立表forum_forum
一、安裝Discuz,使用MySQL8.0建立數據庫時報錯,提示缺乏forum_forum表。
形成的緣由:
- MySQL8.0對不少關鍵字保留了,須要對錶名進行轉意。
- Discuz 默認使用的是MySQL5.6的架構
二、按照如下命令修改Discuz源文件便可。
sed -ri 's/ {2}([a-z0-9_]+)/ `\1`/g' install/data/install.sql uc_server/install/uc.sql
sed -i 's/[^\`]\<\(rank\)\>/`\1`/g' source/class/table/table_forum_forum.php
sed -i 's/[^\`]\<\(system\)\>/`\1`/g' source/class/table/table_common_usergroup.php
sed -i 's/[^\`]\<\(groups\)\>/`\1`/g' source/class/table/table_forum_announcement.php
三、從新安裝,強行刪除原有數據便可正常運行。