redmine mysql_续:Redmine mysql 无法启动

前阵子我写过一篇有关 redmine mysql 无法启动的博文,昨天组里的小伙伴又遇到了 redmine mysql 无法启动的情况。与上一次不同的是,这次即便解决了 unknown variable defaults-file 问题,redmine mysql 服务仍然无法启动。

调研的过程并不复杂,关键是要找到 mysql 无法启动的根本原因。如下图,执行启动命令后,并没有显示详细的错误原因。

1724c9741c8c921dac72e4c686cd31f9.png

而详细的错误信息在:/opt/redmine-3.1.0-0/mysql/data/mysqld.log

[ERROR] /opt/redmine-3.1.0-0/mysql/bin/mysqld.bin: Can't find file: './mysql/host.frm' (errno: 13)

[ERROR] Fatal error: Can't open and lock privilege tables: Can't find file: './mysql/host.frm' (errno: 13)

由于 host.frm 在 mysql 系统表里,于是进入 /opt/redmine-3.1.0-0/mysql/data/mysql 目录中,查看 host.frm 权限。果然是权限的问题,文件的用户组应该是 “mysql”,但当前是“root”。果断到上一级目录,用命令 chown -R mysql:mysql mysql 更新权限。

随后,又在 mysqld.log 遇到了 performance_schema 数据库的权限问题

[ERROR] /opt/redmine-3.1.0-0/mysql/bin/mysqld.bin: Can't find file: './performance_schema/events_waits_current.frm' (errno: 13)

[ERROR] Native table 'performance_schema'.'events_waits_current' has the wrong structure

……

同理,将 performance_schema 目录中所有文件的权限由“root”更新为 “mysql”

重启服务,mysql 就正常启动了(如下图)。

d1d4569b33f2da708c78843620d709ac.png

====华丽丽的分隔符=====

在我搞定了 mysql 启动问题之后,发现 redmine 访问还是有问题,apache 报错 500,在 /opt/redmine-3.1.0-0/apache2/logs/error_log 发现:

Message from application: Mysql2::Error: Table 'bitnami_redmine.custom_fields' doesn't exist: SHOW CREATE TABLE `custom_fields` (ActiveRecord::StatementInvalid)

custom_fields 是 bitnami_redmine 数据库中的表,我确认了 bitnami_redmine 数据库目录中的文件权限没有问题;而此时,我发现通过 /opt/redmine-3.1.0-0/mysql/bin/mysql 命令无法进入 redmine mysql 数据库了,提示权限不够。

于是我用 chmod 755 给予 bin 目录以及 mysql 权限。正当我想验证问题是否解决,小伙伴告诉我 redmine 可以访问了。原来他在我操作的同时,在服务器上把 InnoDB相关的 ibdata1 的文件替换为他之前备份的文件。

故事看到这里,就很难说清楚到底是我的权限设置解决了问题,还是替换 ibdata1文件解决了问题。因为他不确定两个 ibdata1 文件之间存在怎样的差异,而我也不确定 mysql 文件之前的权限设置是怎样的,我就直接 chmod 755 了。

故事的结局是,redmine 可以正常访问了,/opt/redmine-3.1.0-0/mysql/bin/mysql 命令也不再报权限错误,可以进入 redmine mysql 数据库了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Docker上部署Redmine,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了Docker和Docker Compose。可以在终端中运行以下命令来检查其版本: ``` docker --version docker-compose --version ``` 2. 创建一个新的目录,用于存储Redmine的配置文件和数据。在终端中运行以下命令: ``` mkdir redmine cd redmine ``` 3. 创建一个名为`docker-compose.yml`的文件,并使用您喜欢的文本编辑器打开它。将以下内容复制到文件中: ```yaml version: '3.8' services: db: image: mysql:5.7 volumes: - ./mysql:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=your_mysql_root_password - MYSQL_DATABASE=redmine - MYSQL_USER=redmine - MYSQL_PASSWORD=your_redmine_mysql_password redmine: image: redmine:latest ports: - 3000:3000 volumes: - ./redmine:/usr/src/redmine/files depends_on: - db environment: - REDMINE_DB_MYSQL=db - REDMINE_DB_PASSWORD=your_redmine_mysql_password ``` 请注意将`your_mysql_root_password`和`your_redmine_mysql_password`替换为您自己的MySQL密码。 4. 保存并关闭文件后,在终端中运行以下命令来启动Redmine容器: ``` docker-compose up -d ``` 这将下载并启动RedmineMySQL容器。稍等片刻,直到容器启动完成。 5. 在浏览器中访问`http://localhost:3000`,您将看到Redmine的安装页面。按照页面上的说明进行安装和配置。 6. 完成安装后,您可以使用Redmine的功能来管理项目和任务。 这样,您就成功地在Docker上部署了Redmine。请记住,此配置仅用于开发和测试目的。在生产环境中,您可能需要进行更多的配置和安全性设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值