mysqld が常にバックグラウンドで実行されているのはなぜですか?

mysqld が常にバックグラウンドで実行されているのはなぜですか?

私は気づいたマイSQL常にバックグラウンドで実行されています。起動するたびに開始され、強制終了した後でも再起動します。mysql に関連するものはすべて次のように削除しました。

sudo apt-get remove --purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean

ただし、 にはまだ表示されますps -aux。 これはどういう意味ですか? また、 ps -aux の出力にあるユーザー 27 はどういう意味ですか? ユーザー 27 を作成した覚えはありません。

説明: 実際、これはバックグラウンドで実行されているSQL Dockerコンテナが原因でした。

答え1

mysqld が入った docker コンテナが実行されているようです。

答え2

私のシステムでは mysqld が実行されており、3GB を超える RAM を消費していることがわかりました。

私は次のことから調査を始めました。

sudo service --status-all

実行中の項目の 1 つとして mysql がリストされていました (システム モニターでも確認できました)。

システムに Docker がインストールされていません。

次に、サービス スクリプトを確認しました。

$ cat /etc/init.d/mysql

そのスクリプトの部分的なリストは次のとおりです。

#!/bin/bash
#
### BEGIN INIT INFO
# Provides:          mysql
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Should-Start:      $network $time
# Should-Stop:       $network $time
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start and stop the mysql database server daemon
# Description:       Controls the main MySQL database server daemon "mysqld"
#                    and its wrapper script "mysqld_safe".
### END INIT INFO
#
set -e
set -u
${DEBIAN_SCRIPT_DEBUG:+ set -v -x}

test -x /usr/bin/mysqld_safe || exit 0

. /lib/lsb/init-functions

SELF=$(cd $(dirname $0); pwd -P)/$(basename $0)
CONF=/etc/mysql/my.cnf
MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"

# priority can be overriden and "-s" adds output to stderr
ERR_LOGGER="logger -p daemon.err -t /etc/init.d/mysql -i"

# Safeguard (relative paths, core dumps..)
cd /
umask 077

# mysqladmin likes to read /root/.my.cnf. This is usually not what I want
# as many admins e.g. only store a password without a username there and
# so break my scripts.
export HOME=/etc/mysql/

## Fetch a particular option from mysql's invocation.
#
# Usage: void mysqld_get_param option
mysqld_get_param() {
    /usr/sbin/mysqld --print-defaults \
        | tr " " "\n" \
        | grep -- "--$1" \
        | tail -n 1 \
        | cut -d= -f2
}

## Do some sanity checks before even trying to start mysqld.
sanity_checks() {
  # check for config file
  if [ ! -r /etc/mysql/my.cnf ]; then
    log_warning_msg "$0: WARNING: /etc/mysql/my.cnf cannot be read. See README.Debian.gz"
    echo                "WARNING: /etc/mysql/my.cnf cannot be read. See README.Debian.gz" | $ERR_LOGGER
  fi

しかし、これはどこから来たのでしょうか? 私がインストールした何か他のものがシステムに MySQL を追加したのでしょうか? 私が覚えている限りでは何も追加されていません。また、マシンを起動するとなぜこれが開始されるのでしょうか?

Snaps や Ubuntu ソフトウェア、その他さまざまな場所を検索しましたが、Mysql を自分でインストールしていないようです。

Java EE か何かのインストールでしょうか? おそらくそれでしょう。

以下を実行しました:

sudo systemctl --all list-unit-files --type=service

mysql については次のようにリストされています:

UNIT_FILE                        STATE           VENDOR PRESET
mysql.service                    enabled         enabled

次に、起動時にサービスを無効にする必要があったため、次のコマンドを実行しました。

sudo systemctl disable mysql.service

再度チェックを実行したところ、確かに無効になっていることがわかりました。

UNIT_FILE                        STATE           VENDOR PRESET
mysql.service                    disabled         enabled

関連情報