MySQL 不会在数据目录移动后启动。



我在Ubuntu 1004上运行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) 我以root身份登录,并使用"service-mysql-start"命令启动它b) 没有提到/home/{my_username}。。。路径任意配置中的ANYWHERE。

我找不到任何关于这类问题的信息或错误报告。我甚至不知道我会搜索什么,因为这个问题不可能在少于两段的时间内得到真正的解释。

更多信息:手动设置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.

现在,这个盒子上没有"白杨树"用户,我也不知道它为什么要把日志文件放在那里。

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

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

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

相关内容

  • 没有找到相关文章

最新更新