您好,登錄后才能下訂單哦!
注意:因為systemd能夠在安裝了systemd支持的平臺上管理多個MySQL實例, 所以mysqld_multi和 mysqld_multi.server是不必要的,并且沒有安裝。
要使用多實例功能,請修改 my.cnf選項文件以包括每個實例的關鍵選項配置。這些文件位置是典型的:
在配置文件添加一下內容 /etc/my.cnf
[mysqld@01]
datadir=/var/lib/mysql01
socket=/var/lib/mysql01/mysql.sock
port=3307
mysqlx_port=33070
log-error=/var/log/mysqld01.log
[mysqld@02]
datadir=/var/lib/mysql02
socket=/var/lib/mysql02/mysql.sock
port=3308
mysqlx_port=33080
log-error=/var/log/mysqld02.log
此處顯示的副本名稱@用作分隔符,因為這是systemd支持的唯一分隔符。
創建數據目錄
mkdir /var/lib/mysql01
mkdir /var/lib/mysql02
chown mysql.mysql /var/lib/mysql01
chown mysql.mysql /var/lib/mysql02
然后,實例由常規systemd命令管理,例如:
systemctl start mysqld@01
systemctl start mysqld@02
要使實例能夠在引導時運行,請執行以下操作:
systemctl enable mysqld@01
systemctl enable mysqld@02
還支持使用通配符。例如,此命令顯示所有副本實例的狀態:
systemctl status 'mysqld@replica*'
為了管理同一臺機器上的多個MySQL實例,systemd自動使用不同的單元文件:
mysqld@.service而不是 mysqld.service(RPM平臺)
在單元文件,%I和 %i引用之后經過在參數@標記,并用于管理該特定的實例。對于這樣的命令:
systemctl start mysqld@01
systemd使用如下命令啟動服務器:
mysqld --defaults-group-suffix=@%I ...
其結果是,[server], [mysqld],和 [mysqld@01]選項組被讀取并用于服務的該實例。
參考文檔:使用systemd管理MySQL服務器
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。