2010-11-23 65 views
1

我不是MySQL专家,它迟到了,我的眼睛很蠢。现在,就这样...有些东西在这个服务器上变得很棘手,我想知道是否有这样一个事实,即它上面有两个MySQL版本,而旧版本(应该是休眠状态)以某种方式回到生活。帮助理解MySQL进程

我不确定我是否正确读取这个输出(下面)......有两个 mysql条目......但我不能确定它们都是正常健康MySQL安装的一部分。

usr/local/mysql/bin/mysqld是新版本,并应在运行...

,但什么是./bin/mysqld_safe?在我们安装新版本之前,我不记得这个过程正在运行......虽然可能是错误的。

老(出厂安装)版本是/usr/bin,我想,以确保它没有运行...

$ ps -e | grep mysql 
50870 ttys003 0:00.08 /bin/sh ./bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/server.mydomain.com.pid 
50979 ttys003 0:00.39 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --log-error=/usr/local/mysql/data/server.mydomain.com.err --pid-file=/usr/local/mysql/data/server.mydomain.com.pid --socket=/var/mysql/mysql.sock --port=3306 

回答

3

不,这是正常的。在Unix上,正在运行的MySQL实例将有两个进程,如您的示例中所列。

mysqld是服务器二进制文件; mysqld_safemysqld的启动脚本(因此它在您的输出中显示为由/bin/sh运行)。

mysqld_safe的是 开始在Unix和 的NetWare一个mysqld服务器的推荐方式。 mysqld_safe增加了一些安全功能,例如发生错误时重新启动服务器 以及将 运行时信息记录到错误日志文件 中。

man mysqld_safehttp://dev.mysql.com/doc/refman/5.5/en/mysqld-safe.html)。