我们的 Linux 机器正在运行两个 mysql 实例?

我们的 Linux 机器正在运行两个 mysql 实例?

好吧,我不确定发生了什么变化,因为我绝不是 mysql 或 linux 方面的专家(我知道大部分基础知识),但是当我通过“service mysqld restart”重新启动 mysql 时,它实际上根本没有重新启动 mysql。它也不会停止。

于是我运行了“ps aux | grep mysqld”,发现它由 root 和 mysql 用户运行?!我不太清楚这是怎么发生的?

root     31191  0.0  0.0  65948  1356 ?        S    Mar12   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql

mysql    31896  1.4 23.2 3983432 3823924 ?     SLl  Mar12  56:49 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/db.local.err --open-files-limit=8192 --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock --port=3306

有人能解释一下这是怎么发生的吗?我在谷歌上搜索了一下,不知道我是否使用了错误的搜索词,但我没有找到任何有用的信息。

答案1

你的系统没有问题。事实上,使用mysqld_safe是 Unix 中启动 mysql 的推荐方式。检查官方文档在这里。

mysqld_safe is the recommended way to start a mysqld server on Unix. mysqld_safe adds some safety features such as restarting the server when an error occurs and logging runtime information to an error log file.

您可以从进程 ID 中得知,mysqld_safe 启动了 mysqld,并使其在用户 mysql 下运行--user=mysql。并且所有其他运行时参数都是在启动 mysqld_safe 时指定的,以供 mysql 守护进程使用。

答案2

mysqld_save只是一个脚本,它会调用mysqld并执行一些额外的好东西。因此您的系统一切正常。

相关内容