GNU/Linux >> Linux の 問題 >  >> Cent OS

Systemd を使用して複数の MySQL インスタンス用に個別の Override.conf を構成する方法

システム サービスが systemd によって管理されている場合、systemd デーモンはプロセスの PID ファイルの場所を認識して、プロセスを開始/停止/再起動する必要があります。 systemd をサポートするシステムでは、「override.conf 」は両方の「PIDFile」を指定するために使用されます 」および「ExecStart 」と PID ファイルの場所。 MySQL オプション ファイル (my.cnf) 内のプロセス ID ファイルの設定は無視されます。

この投稿では、同じサーバー上で複数の MySQL インスタンスを管理するために個別の「override.conf」ファイルを作成する必要がある場合について説明します。次の構成ファイルの例では、「Server1」と「Server2」という名前の 2 つの MySQL インスタンスが単一の CentOS/RHEL 7 マシンで実行されていると想定しています。

MySQL 構成ファイル (/etc/my.cnf):

[mysqld@server1]
server_id = 1
port = 3307
datadir = /home/mysql57/data
socket = /home/mysql57/data/mysql_server1.sock
log-error = /home/mysql57/data/mysql_server1.err

[mysqld@server2]
server_id = 2
port = 3308
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql_server2.sock
log-error = /var/lib/mysql/mysql_server2.err

これら 2 つのインスタンスの「override.conf」を作成する手順:

1. 既存の実行中の MySQL インスタンスを停止します。

2. インスタンス名を指定して新しいフォルダを作成します:

$ mkdir /etc/systemd/system/mysqld@[instance-name].service.d
注意 :インスタンス名は、構成ファイルで指定されたものと同じである必要があります。
$ mkdir /etc/systemd/system/[email protected]
$ mkdir /etc/systemd/system/[email protected]

3. 「override.conf」を作成します:

たとえば、「server1」という名前の

$ cd /etc/systemd/system/[email protected]
$ touch override.conf 

次の行を override.conf にコピーします:

[Service]
PIDFile=/home/mysql57/data/mysql_server1.pid
ExecStart=
ExecStart=/usr/sbin/mysqld --defaults-file=/etc/my.cnf --defaults-group-suffix=@server1 --daemonize --pid-file=/home/mysql57/data/mysql_server1.pid $MYSQLD_OPTS

たとえば、「server2」という名前の

$ cd /etc/systemd/system/[email protected]
touch override.conf

次の行を override.conf にコピーします:

[Service]
PIDFile=/var/lib/mysql/mysql_server2.pid
ExecStart=
ExecStart=/usr/sbin/mysqld --defaults-file=/etc/my.cnf --defaults-group-suffix=@server2 --daemonize --pid-file=/var/lib/mysql/mysql_server2.pid $MYSQLD_OPTS

4. systemd 構成をリロードして、構成の変更を適用します。

# systemctl daemon-reload

5. 構成された各インスタンスを起動します:

# systemctl start mysqld@server1
# systemctl start mysqld@server2


Cent OS
  1. MySQLの低速クエリログを有効にする方法

  2. Linux – Syslog.confファイルを設定して、Iptablesメッセージを別のファイルに記録する方法は?

  3. テスト用の MySQL Docker コンテナを作成する方法

  1. 一連のSystemdサービスファイルのユーザーを変更するにはどうすればよいですか?

  2. Jujuの複数のデプロイメント環境を構成する方法は??

  3. systemd サービスの ulimit 値を設定する方法

  1. Ubuntu16.04でMySQLのリモート接続と安全な接続を構成する方法

  2. Systemd を使用してファイルシステムを自動マウントする方法

  3. CentOS/RHEL で SSH と SFTP 用に個別のポートを構成する方法