GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Mengonfigurasi Override.conf Terpisah Untuk Beberapa Instance MySQL Menggunakan Systemd

Jika layanan sistem dikelola oleh systemd, daemon systemd harus mengetahui lokasi file PID dari proses untuk memulai/menghentikan/memulai ulang. Pada sistem dengan dukungan systemd, “override.conf ” digunakan untuk menentukan “PIDFile ” dan “ExecStart ” dengan lokasi file PID. Setiap pengaturan file ID proses dalam file opsi MySQL (my.cnf) diabaikan.

Posting ini membahas kasus ketika kita perlu membuat file "override.conf" terpisah untuk beberapa manajemen instance MySQL di server yang sama. Dalam contoh file konfigurasi berikut, diasumsikan bahwa dua instance MySQL bernama “Server1” dan “Server2” berjalan pada satu mesin CentOS/RHEL 7:

File Konfigurasi 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

Langkah-langkah untuk membuat “override.conf” untuk dua instance ini:

1. Hentikan instance MySQL yang sedang berjalan.

2. Buat folder baru dengan nama instance yang ditentukan:

$ mkdir /etc/systemd/system/mysqld@[instance-name].service.d
Catatan :Nama instance harus sama dengan yang ditentukan dalam file konfigurasi.
$ mkdir /etc/systemd/system/[email protected]
$ mkdir /etc/systemd/system/[email protected]

3. Buat “override.conf”:

Misalnya bernama “server1”,

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

Salin baris berikut ke 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

Misalnya bernama “server2”,

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

Salin baris berikut ke 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. Muat ulang konfigurasi systemd untuk menerapkan perubahan konfigurasi:

# systemctl daemon-reload

5. Luncurkan setiap instance yang dikonfigurasi:

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


Cent OS
  1. Cara Mengaktifkan Log Permintaan Lambat untuk MySQL

  2. Linux – Bagaimana Mengkonfigurasi File Syslog.conf, Mencatat Pesan Iptables Dalam File Terpisah?

  3. Cara Mengkonfigurasi Port Terpisah Untuk SSH dan SFTP Di CentOS/RHEL

  1. Cara mengkonfigurasi Grup Sumber Daya Linux (cgroups) untuk MySQL

  2. Cara Membuat Wadah Docker MySQL untuk Pengujian

  3. Cara mengatur nilai ulimit untuk layanan systemd

  1. Bagaimana Cara Mengubah Pengguna Untuk Banyak File Layanan Systemd?

  2. Bagaimana Mengkonfigurasi Beberapa Lingkungan Penerapan Untuk Juju??

  3. Cara mendengarkan beberapa koneksi tcp menggunakan nc