How*_*ard 2 mysql ubuntu percona
我在 15 个数据库中有大约 6000 个 InnoDB 表,并且使用 innodb_file_per_table 时,我发现每次重新启动 Ubuntu 服务器时,MySQL 无法启动,错误..
Version: '5.1.56-rel12.7-log' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Percona Server (GPL), 12.7, Revision 224)
111106 5:09:00 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./db1/tbl182.ibd
InnoDB: File operation call: 'open'.
Run Code Online (Sandbox Code Playgroud)
由于有问题的表(即 tbl182.ibd)的文件名每次都不一样,所以我怀疑是因为 MySQL 对所有表都做了些什么?
但是,当我使用命令(sudo /etc/init.d/mysql restart)重新启动时,MySQL 可以成功启动。这很奇怪!
我的环境:MySQL 版本:5.1.56-rel12.7-log(Ubuntu 10.04 LTS + Percona)
更新:
通过删除大量表解决了问题,因此应该与文件限制有关,而不是与权限有关。
我已经将 /etc/init.d/mysql 更改为硬编码值ulimit -n 50000,当我创建大量表时仍然没有帮助。
小智 6
问题不在于文件句柄的限制。那将是错误 24,而不是 13。问题在于它所说的:权限。我已经看过几十次了,即使人们认为一切都设置正确并具有正确的权限,但每次都是权限,而且有人总是发现他们错过了一些东西:) 您要么设置了错误的权限或者你有以下类似的东西:
您通过删除大量表来“解决”了问题——我认为这不是真正的解决方案。您可能只是删除了一些设置了错误权限的表:)
| 归档时间: |
|
| 查看次数: |
559 次 |
| 最近记录: |