Discuz 使用 MySQL 8.0 没法建立表forum_forum问题

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

三、从新安装,强行删除原有数据便可正常运行。

  • 在站点后加上install,并按照提示删除锁文件便可
    http://www.colin.com/discuz/install/