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
三、从新安装,强行删除原有数据便可正常运行。