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/

原文地址:https://blog.51cto.com/8686505/2430333

时间: 2024-07-30 02:28:10

Discuz 使用 MySQL 8.0 无法创建表forum_forum问题的相关文章

Hibernate连接mysql数据库并自动创建表

天才第一步,雀氏纸尿裤,Hibernate第一步,连接数据库. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. 所以说,Hibernate讲白了就是简化了与数据库之间的操作,那么要玩转它自然就得连接上数据库咯.(与Hibernate对应的orm框架还有Mybatis,只不过M

mysql 给axel数据创建表

create table point( id int primary key auto_increment ,point_x double, point_y double, boundry bool ); 一.sql语句 1.操作数据库 (1)创建数据库 CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification:    [DEFA

mysql触发器应用和创建表错误代码: 1118 Row size too large. 解决

1.针对数据库查询问题的方便,可以建立重要表的log备份记录表,在主表的添加,修改,删除添加触发器,修改触发器增加触发字段的点,限制条件. 数据库log表查问题比从线上多台服务器上下载日志文件相对方便,但是两者的侧重点不同. 2.错误代码: 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhe

最新版 Mysql 8.0.16 创建用户权限更新回收权限

1.创建用户语法 : create user ‘写你自己的用户名’@‘写你需要哪个IP连接你的用户(%表示所有)’ identified by ‘密码’; 案例: create user ‘wangxiang’@’%’ indentified by ‘123’; 2.给这个用户授权语法 : grant 权限 on 数据库.数据表 to ‘用户名’@‘ip’ 后面那个允许这个用户授权给另外的用户 with grant option; 案例1不允许这个用户给其他用户授权 : grant all pr

mysql根据查询结果创建表

现在假设存在三张表 s(sno,sname.sex,age,dept)              //sno代表学生的学号 , sname代表学生姓名   , sex代表性别 ,age代表年龄,dept代表系 c(cno,cname,tname)                             //cno课程号 ,cname课程名 , tname老师名字 sc(sno,cno,grade)                                     //sno学号,cno课程

【Mysql】生成Sqlserver创建表语句

sql: DROP VIEW IF EXISTS `V_TableToSqlserverText`; CREATE ALGORITHM = UNDEFINED DEFINER = `root`@`localhost` SQL SECURITY DEFINER VIEW `V_TableToSqlserverText` AS ( SELECT TABLE_NAME tablename,rownum,sqltext FROM( SELECT TABLE_NAME,0 rownum,sqltext F

mysql sql数据库基本操作(创建表,添加字段等)

1.check表里添加update_time字段 ALTER TABLE `check` ADD `update_time` VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '上一次更新的时间' AFTER `operator` ; 2.

MySQL workbench8.0 CE基本用法(创建数据库、创建表、创建用户、设置用户权限、创建SQL语句脚本)

原文地址:https://blog.csdn.net/zgcr654321/article/details/82156277 安装完成MySQL后,打开MySQL workbench8.0. 可以看到MySQL Connections下面是我们设置的MySQL本地登录账号,这个账号是我们在安装MySQL过程中设置的,一般命名为root,端口为3306,密码默认为空.双击进入. 要注意一点的是,在MySQL中,database(数据库)==schema(模式).在左下角schema下方区域鼠标右键

Qt编译mysql以及创建表后进行导入操作

鉴于许多同学对Qt编译myql总是不能成功,出现各种问题,今天特此写出本教程,希望能够帮到需要的同学. 首先,需要明白编译的目的和原理. 目的:Qt 5.2版本以前都是不带mysql驱动的,所以需要进行编译mysql数据库驱动,只有编译完成后才能被Qt加载上.如果你安装的是Qt5.2以后版本的,那就不需要了,因为在后来的版本中,Qt官方增加这一模块. 可以在Qt的安装插件目录下查看自己的驱动是否已经存在.例如我的在目录: C:\Qt\4.8.2\plugins\sqldrivers.可以看到当前