Ubuntu 12.04 VPS 无法在 nsswitch.conf 中使用 mysql 启动

Ubuntu 12.04 VPS 无法在 nsswitch.conf 中使用 mysql 启动

一旦在 nsswitch.conf 中启用 mysql 查找,1and1 VPS(“动态云服务器”)就不再启动 - 欢迎提出任何建议。

重现问题的最小设置:

  • 安装 Ubuntu 12.04 / LTS 最小服务器映像
  • 安装 mysql-server、libnss-mysql-bg、nscd
  • 配置/etc/libnss-mysql.cfg和 /etc/libnss-mysql-root.cfg
  • 设置适当的数据库表
  • 在 nsswitch.conf 中通过 mysql 配置 nss 查找

    passwd:         compat mysql
    group:          compat mysql 
    shadow:         compat mysql 
    

现在,当我尝试重新启动服务器时,它就挂起了。没有日志(可能是因为 /var 尚未挂载),而且我看不到控制台输出(因为这是 VPS)。启动​​恢复映像并从 /etc/nsswitch.conf 中删除“mysql”可使系统再次启动,因此这肯定与 nsswitch/libnss-mysql-bg 有关。

有一个线在 gentoo-users 上似乎描述了类似的问题,不幸的是没有描述真正的解决方案,而且该线程相当旧(从 2006 年开始),所以我不确定这是否适用于我。

答案1

虽然我无法完全解释原因,但移动/usr到同一个分区可以/解决这个问题。对我来说,这看起来就像在启动期间,某个守护进程或进程试图查找某个用户或组,但失败了,因为 MySQL 客户端或库/usr还不存在。

理论上,这不应该造成麻烦,因为所有系统用户/组都可以通过/etc/passwd和来解析/etc/group,但实际上这些查找似乎会破坏启动过程。

相关内容