在 chroot 中运行 mysqld 的文件权限

在 chroot 中运行 mysqld 的文件权限

我正在尝试在 chroot 环境中运行 mysqld。以下是情况。

当我以 root 身份运行 mysqld 时,我可以连接到我的数据库。但是当我使用 init.d 脚本运行 mysql 时,mysql 给出了一个错误。

$ mysql --user=root --password=password
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)

所以我想,我需要更改某些文件的文件权限。但是哪些文件呢?哦,如果您想知道“/var/run/mysqld/mysqld.sock”归“mysql”用户所有。

编辑:strace 输出看起来像这样

[pid 20603] futex(0xf2cfc4, FUTEX_WAIT_PRIVATE, 685, NULL <unfinished ...>
[pid 20601] rt_sgtimedwait[HUP QUIT ALRM TERM TSTP], NULL, NULL, 8 <unfinished ...>
[pid 20600] futex(0xf2cfc4, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...>
[pid 20599] select(0, NULL, NULL, NULL, {0, 278651} <unfinished ...>
[pid 20598] select(0, NULL, NULL, NULL, {0, 42192} <unfinished ...>
[pid 20596] futex(0x21a72708, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...>
[pid 20595] futex(0x21a72690, FUTEX_WAIT_PRIVATE, 7, NULL <unfinished ...>
[pid 20594] futex(0x21a72618, FUTEX_WAIT_PRIVATE, 5, NULL <unfinished ...>
[pid 20593] futex(0x21a725a0, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...>
[pid 20587] select(12, [10 12], NULL, NULL, NULL <unfinished ...>
[pid 20599] <... select resumed> )        = 0 (Timeout)
[pid 20599] time (NULL)                   = 12982215237
[pid 20599] select(0, NULL, NULL, NULL, {1, 0} <unfinished ...>
...........repeats.

答案1

这是 schroot 的一个错误。mysqld 逃离 chroot 并与系统的 mysqld 进行交互。

http://ubuntuforums.org/showthread.php?t=1625863 https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/430224

相关内容