MySQL版本8.0的Bugzilla安装错误

时间:2019-09-23 07:06:27

标签: mysql bugzilla

在使用最新的MySQL版本8.0创建Bugzilla安装数据库时出错。

我正在使用以下配置为Bugzilla设置新服务器。

Bugzilla版本:5.0.6

草莓PERL版本:5.28.2.1

MySQL版本:8.0

我当前的设置可以在旧版本的 MySQL 5.7.27 上正常工作。但是以某种方式必须迁移到MySQL 8.0的较新版本,因此在数据库中创建表条目时出现错误。

在Google上,我发现与“ GROUPS”有关。该关键字在MySQL 8.0和bugzilla中保留,试图使用该关键字。我不了解MySQL,所以无法弄清楚这个问题。

以下是 checksetup.pl

的输出

... ....

检查DBD-mysql(v4.001)正常:找到v4.050

检查MySQL(v5.0.15),确定:找到v8.0.17

添加新表bz_schema ...

正在初始化bz_schema ...

正在创建表格...

正在将attach_data的最大大小转换为100G ...

设置标准下拉字段的选择:

op_sys优先级解决bug_status rep_platform bug_severity

正在创建./data目录...

正在创建./data/assets目录...

正在创建./data/attachments目录...

正在创建./data/db目录...

正在创建./data/extensions目录...

正在创建./data/mining目录...

正在创建./data/webdot目录...

正在创建./graphs目录...

正在创建./skins/custom目录...

正在创建./data/extensions/additional ...

正在创建./data/mailer.testfile ...

正在创建./Bugzilla/.htaccess ...

正在创建./data/.htaccess ...

正在创建./data/assets/.htaccess ...

正在创建./data/attachments/.htaccess ...

正在创建./data/webdot/.htaccess ...

正在创建./graphs/.htaccess ...

正在创建./lib/.htaccess ...

正在创建./template/.htaccess ...

正在创建contrib / .htaccess ...

正在创建t / .htaccess ...

正在创建xt / .htaccess ...

预编译模板...完成。

    DBD::mysql::db selectrow_array failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups where name = ''' at line 1 [for Statement "SELECT id FROM groups where name = ''"] at Bugzilla/Install/DB.pm line 2497.

    Bugzilla::Install::DB::_fix_group_with_empty_name() called at Bugzilla/Install/DB.pm line 358

    Bugzilla::Install::DB::update_table_definitions(HASH(0x34e8cb8)) called at checksetup.pl line 175

3 个答案:

答案 0 :(得分:0)

从Mysql 8.0组开始是保留字。因此,“组”不能是表名。您可以通过在bugzilla代码中的表名groups上加上反引号来解决此问题。

答案 1 :(得分:0)

组仍然可以使用,但是,您需要在每次对“ GROUPS”表的调用之前添加数据库名称。对于Bugzilla标准安装,数据库名称为'bugs'。来自DB.pm中第1643行的示例:

$dbh->do("ALTER TABLE groups DROP PRIMARY KEY");

更改为:

$dbh->do("ALTER TABLE bugs.groups DROP PRIMARY KEY");

在DB.pm中有大约12条SQL语句调用该表。您必须将其添加到所有这些文件中。

答案 2 :(得分:-1)

尝试一下:

SELECT id FROM database_name.groups where name = ''