共計 3129 個字符,預計需要花費 8 分鐘才能閱讀完成。
本篇內容主要講解“怎么使用 Systemd 管理下的 MySQL Server”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“怎么使用 Systemd 管理下的 MySQL Server”吧!
mysql 5.7
官網(wǎng)的 rpm 包,編譯時指定了 -DWITH_SYSTEMD=bool
參數(shù),啟用 systemd 管理,并且不會安裝 mysqld_safe 和 System V
初始化的腳本
-DWITH_SYSTEMD=1
如果還想使用 mysqld_safe 兩種方法:
1. 下載源碼包編譯;
select
version : 5.7.23
select operating system: Source Code
select OS Version: Gerneric Linux (Architecture Independent)
mysql-boost-5.7.23.tar.gz
2. 下載 tar 文件或壓縮后的 tar 文件(安裝后的文件,解壓后可直接啟動)
select
version : 5.7.23
select operating system: Red Hat Enterprise Linux / Oracle Linux
select OS Version: Red Hat Enterprise Linux 7/ Oracle Linux 7(x86,64-bit)
mysql-5.7.23-el7-x86_64.tar.gz / mysql-5.7.23-el7-x86_64.tar
概覽 systemd:
systemctl {start|stop|restart|status} mysqld
兼容的 System V 的指令如下
service mysqld {start|stop|restart|status}
# 設置 mysql 開機自啟動
systemctl enable mysqld
配置 systemd
for mysql
增加或改變 systemd for mysqld 的選項,方法如下:
使用局部 (localized) 的 systemd 配置文件
為 MySQL
server
進程,設定 systemd
環(huán)境變量
設定 MYSQLD_OPTS
systemd 變量
1)使用局部 systemd 配置文件
建立目錄:/etc/systemd/system/mysqld.service.d
在目錄里建立一個包含 [Service] 的文件,如 override.conf
[Service]
LimitNOFILE=max_open_files
PIDFile=/path/to/pid/file
Nice=nice_level
LimitCore=core_file_limit
Environment= LD_PRELOAD=/path/to/malloc/library
Environment= TZ=time_zone_setting
新版本的 systemd 支持如下命令編輯
systemctl edit mysqld
編輯完后,別忘重新加載 systemd 配置,并重啟 mysqld 服務
systemctl daemon-reload
systemctl restart mysqld
在 systemd 中,必須使用
override.conf
配置文件來獲取參數(shù),而不是以前 mysql
option file(/etc/my.cnf)中 [mysqld] 和[mysqld_safe]選項。它不會去讀這兩個選項
For additional information about using systemd rather than mysqld_safe, see Migrating from mysqld_safe to systemd.
override.conf 可以設定如下參數(shù):
1.PIDFILE
指定 pid 文件
2.LimitNOFILE,
設定 mysql
server 文件描述符的有效數(shù)量,而不是 mysqld_safe
–open-files-limit
3.
LimitCore,
設定最大內核文件大小,
而不是 mysqld_safe
的
–core-file-size
4.Nice,
設定 mysql server 排程的優(yōu)先級,而不是
–nice option for mysqld_safE
5.LD_PRELOAD,
指定 mysql server
內存分配庫
,Environment= LD_PRELOAD=/path/to/malloc/library
6.TZ
,設定缺省的時區(qū)
Environment= TZ=time_zone_setting
多種方法指定 mysql
server
的環(huán)境變量,在 systemd 管理下。
1. 在 override.conf
配置文件,使用
Environment
行指定,如:Environment= TZ=xx
2.
/etc/sysconfig/mysql
中指定變量值
LD_PRELOAD=/path/to/malloc/library
TZ=time_zone_setting
修改過后記得重啟 mysql
systemctl restart mysqld
3.set / unset
systemd 變量:
MYSQLD_OPTS
systemctl set-environment MYSQLD_OPTS= –general_log=1
systemctl unset-environment MYSQLD_OPTS
MYSQLD_OPTS 也可以被設定在
/etc/sysconfig/mysql 文件中
修改過后記得重啟 mysql
systemctl restart mysqld
注意:在 systemd 的平臺上,空的數(shù)據(jù)目錄,將在 mysql server 啟動時,自動初始化數(shù)據(jù)。
NO_INIT=true
在 /etc/sysconfig/mysql 中指定
NO_INIT=true
來控制不要自動初始化數(shù)據(jù)庫。
在 systemd 環(huán)境下配置多實例 MySQL
rpm 平臺:/etc/my.cnf
如兩個實例:replica01 and replica02,配置文件如下:
[mysqld@replica01]
datadir=/var/lib/mysql-replica01
socket=/var/lib/mysql-replica01/mysql.sock
port=3307
log-error=/var/log/mysqld-replica01.log
[mysqld@replica02]
datadir=/var/lib/mysql-replica02
socket=/var/lib/mysql-replica02/mysql.sock
port=3308
log-error=/var/log/mysqld-replica02.log
管理方法如下:
systemctl start mysqld@replica01
systemctl start mysqld@replica02
設置開機啟動
systemctl enable mysqld@replica01
systemctl enable mysqld@replica02
支持通配符
systemctl status
mysqld@replica*
systemd 的單元文件 unit file 也是不同的
mysqld@.service rather than mysqld.service
如果想在 /etc/my.cnf.d 中分別配置每個實例,需要在 /etc/my.cnf 中增加
!includedir /etc/my.cnf.d
把 my.cnf.d 的文件引入。
到此,相信大家對“怎么使用 Systemd 管理下的 MySQL Server”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網(wǎng)站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!