Discuz 使用 MySQL 8.0 无法创建表forum_forum问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Discuz 使用 MySQL 8.0 无法创建表forum_forum问题相关的知识,希望对你有一定的参考价值。

Discuz 使用 mysql 8.0 无法创建表forum_forum

1、安装Discuz,使用MySQL8.0创建数据库时报错,提示缺少forum_forum表。

造成的原因:

  • MySQL8.0对很多关键字保留了,需要对表名进行转意。
  • Discuz 默认使用的是MySQL5.6的架构

2、按照以下命令修改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

3、重新安装,强行删除原有数据即可正常运行。

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

以上是关于Discuz 使用 MySQL 8.0 无法创建表forum_forum问题的主要内容,如果未能解决你的问题,请参考以下文章

Navicat for mysql 8.0 无法创建连接

Node.js无法对MySQL 8.0进行身份验证

Node.js 无法对 MySQL 8.0 进行身份验证

MySQL 8.0 恢复孤立文件每表ibd文件

linux怎么修改mysql数据库临时表空间大小

怎么修改mysql数据库临时表空间大小