好吧,我不确定发生了什么变化,因为我绝不是 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
并执行一些额外的好东西。因此您的系统一切正常。