移动到新分区后无法启动 mysql

移动到新分区后无法启动 mysql

我以前在 /var/lib/mysql 中使用 mysql 数据,现在我已经创建了新的分区并在其上创建了 tank 以便与 zfs 一起使用。

之后我按照以下步骤将现有的 mysql 数据移动到新目录:https://serverfault.com/a/539729/184573

一切正常,所以我导入了新的大数据库(100 GB),但现在不再工作了。

我收到此错误 在此处输入图片描述

在“/var/log/mysql/error.log”中

详细解释:

  1. 我在 /tank/mysql 上使用 zfs,一切正常

  2. 导入新数据库,mysql 运行正常

  3. 停止mysql服务并执行zfs

  4. 快照 tank/mysql@imported 现在我无法启动 mysql,因为出现上面的错误

  5. 尝试 chown mysql:mysql /tank/mysql -R ,仍然出现同样的错误

我已经在 Google 上搜索过这个问题,但没有任何解决方案能帮助我。权限、设置……一切似乎都正常。

操作系统:Ubuntu 服务器 14.04。

服务器:IBM X3200 m3

这可能是什么问题?

谢谢

答案1

将此作为答案发布。

这是文件权限问题。您需要确保用户mysql有权访问 mysql datadir它所在的目录,一直到根级目录。

如果多个用户需要访问这些目录,则将他们放在一个组中,然后授予该组访问这些目录的权限。

答案2

为什么不把 ZFS 数据集放在 MySQL 期望的位置?

zfs set mountpoint=/var/lib/mysql tank/mysql

现在您不必担心奇怪的权限,/tank并且对于系统的其余部分来说一切看起来都正常。

相关内容