标题中的“Unknown system variable 'storage_engine'”是一个MySQL数据库错误信息,表示系统未找到名为'storage_engine'的变量。这个变量在MySQL 5.7版本中被弃用,替换为'innodb_storage_engine'。这通常是由于旧的或者不兼容的MySQL驱动程序或配置文件与较新版本的数据库服务器交互时出现的问题。
Jira是一款流行的问题跟踪和项目管理工具,由Atlassian公司开发。描述中提到的"Jira6不支持mysql5.7"是因为Jira的早期版本可能设计时基于较早的MySQL版本,而MySQL 5.7引入了若干更改和不向后兼容的改进,因此可能导致Jira无法正常工作。
解决这个问题通常涉及以下步骤:
1. **升级Jira**: 最直接的解决方案是将Jira升级到一个支持MySQL 5.7的版本。这可以确保所有必需的数据库功能和接口都已更新,以适应新的数据库变化。
2. **降级MySQL**: 如果Jira升级不可行,你可以考虑将数据库服务器回退到一个Jira支持的MySQL版本,比如5.6或更低。
3. **替换MySQL驱动**: 描述中提到的"mysql-connector-java-j-bin.jar"是一个MySQL的Java连接器,用于Jira与MySQL通信。如果Jira使用的驱动不兼容,替换为最新版本的驱动(在Jira支持的范围内)可能解决问题。例如,下载并替换为适用于MySQL 5.7的驱动。
4. **修改Jira配置**:检查Jira的配置文件(如`atlassian-jira/WEB-INF/classes/jira-application.properties`),确保数据库连接参数正确无误,特别是数据库引擎设置。可能需要将'storage_engine'替换为'innodb_storage_engine',或者根据新驱动的要求进行相应调整。
5. **临时MySQL配置**:在MySQL服务器上,可以临时设置'storage_engine'变量,但这不是一个长久之计,因为它可能会在数据库重启后失效。命令如下:
```
SET GLOBAL storage_engine=InnoDB;
```
6. **数据库迁移**:如果以上方法都无法解决问题,考虑将数据迁移到其他兼容的数据库系统,如PostgreSQL,这是Jira官方推荐的替代方案。
在处理这种问题时,务必先备份所有重要数据,以防操作过程中发生意外。同时,查阅Jira和MySQL的官方文档以及社区支持论坛,可以获取更多关于这类问题的详细解决方案和最佳实践。
1