之前博客运行在BuyVM OpenVZ 128m的vps上,运行环境是lnmp.org提供的一键安装包,版本0.8。昨天把博客换到BuyVM KVM的vps上面,并且把一键安装包升级到了0.9。今天重启vps之后mysql死活起不来,执行/etc/init.d/mysql start,错误信息为:

Couldn’t find MySQL manager (/usr/bin/mysqlmanager) or server (/usr/bin/mysqld_safe)

错误信息很明显,因为lnmp.org提供的一件安装包是默认mysql是装在/usr/local/mysql下面的。我的my.cnf没有问题,因为检查发现之前openvz下面的mysql无论版本还是配置和这台kvm的vps并没有差别。这样解决方案很简单,在/usr/bin下面建个软链或者手工启动mysql都行。但是我还是打算看看启动脚本到底哪出了问题。

根据输出的错误信息很快定位到$bindir变量赋值有问题。经过多次调试把问题定位在下面的脚本上:

parse_server_arguments `$print_defaults $extra_args mysqld server mysql_server mysql.server`

这条命令的作用就是解析后面几个参数的值。从哪解析呢?parse_server_arguments命令有如下说明:

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

逐个查找这几个配置文件,发现KVM的vps里居然有/etc/mysql/my.cnf。果断删除了/etc/mysql目录,问题解决了。其实这里很奇怪,这个目录一般是系统默认安装的mysql存放配置文件的地方,但是我给KVM的vps装系统的时候没有选择MySQL Server选项。

希望我这个个案对于到同样错误的童鞋能有帮助。

相关日志

7 Responses to “MySQL报错Couldn’t find MySQL manager (/usr/bin/mysqlmanager) or server (/usr/bin/mysqld_safe)”

  1. 好久没有更新了

  2. 128M太小了,我的512M都嫌不够呢

  3. 博客时间是2点~~~我是来看时间的~

  4. mark~~~~哈哈哈,新年快乐~

  5. 我回来了……博客有毛病,有空帮我看看咋回事

  6. 是不是有多个配置文件重复了?

Leave a Reply

(required)

(required)

click to change(必须)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Protected by WP Anti Spam
© 2009 - 2018 冰河的博客