【问题标题】:MySQL won't start after data dir move.数据目录移动后 MySQL 不会启动。
【发布时间】:2012-09-06 12:53:38
【问题描述】:

我在 Ubuntu 10.04 上运行 MySQL 5.1,直到最近,我还使用默认数据目录位置。配置文件的其他一些部分针对性能进行了调整,但路径保持默认。

最近,我开始空间不足,决定添加另一个硬盘,将其挂载为 /mysql 并仅用于 MySQL 数据。因此,我更改了路径,将旧数据目录复制到新数据目录中,并认为这将结束。

不幸的是,它不是 - 后来证明 apparmor 是问题所在,尽管我更新了 apparmor 中的 MySQL 配置文件以反映新路径。在一些混乱、禁用 apparmor 之后,服务器可以工作,我能够导入大型数据库,这是我需要更多空间的最初原因。

现在,那是昨天 - 整个 200GB 数据库已导入,密钥已排序,一切似乎都很好,直到我今天尝试启动服务器。这是我在日志中看到的错误:

120913 13:53:38  InnoDB: Operating system error number 2 in a file operation.
InnoDB: The error means the system cannot find the path specified.
InnoDB: If you are installing InnoDB, remember that you must create
InnoDB: directories yourself, InnoDB does not create them.
InnoDB: File name /home/{my_username}/mysql/data/ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.

这里有一些奇怪的事情:

a) 我是 sudo 以 root 身份登录的,我正在使用“service mysql start”命令来启动它 b)在任何配置中都没有提到 /home/{my_username}... path ANYWHERE。

我找不到有关此类问题的任何信息或错误报告。我什至不知道我会搜索什么,因为这个问题不能用不到 2 段来解释。

更多信息:手动设置 innodb_data_home_dir 消除了早期的问题,但是,现在我得到了这个:

120913 14:08:06  InnoDB: Operating system error number 2 in a file operation.
InnoDB: The error means the system cannot find the path specified.
InnoDB: If you are installing InnoDB, remember that you must create
InnoDB: directories yourself, InnoDB does not create them.
InnoDB: File name /home/poplar/mysql/innodb-logs/ib_logfile0
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.

现在,这个盒子上没有“poplar”用户,我一点也不明白为什么它要尝试将日志文件放在那里。

【问题讨论】:

    标签: mysql innodb datadirectory


    【解决方案1】:

    好吧,事实证明,将 innodb_log_group_home_dir 设置为新的 MySQL 数据目录(我的日志之前所在的位置,无论如何它都应该默认设置的位置)起到了作用。

    服务器现在正常启动,所有数据似乎都在那里。

    我仍然不知道它从哪里获得“poplar”用户名作为尝试放置日志文件的好主意,但它可能是 AppArmor 的一些剩余(错误)配置,在我卸载时没有完全重新设置它。

    【讨论】:

      猜你喜欢
      • 2018-06-30
      • 1970-01-01
      • 1970-01-01
      • 2022-10-17
      • 2013-06-30
      • 1970-01-01
      • 2018-06-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多