您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么使用Systemd管理下的MySQL Server”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么使用Systemd管理下的MySQL Server”吧!
mysql 5.7 官網的rpm包,編譯時指定了-DWITH_SYSTEMD=bool 參數,啟用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 環境變量
設定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 配置文件來獲取參數,而不是以前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可以設定如下參數:
1.PIDFILE 指定pid文件
2.LimitNOFILE, 設定mysql server文件描述符的有效數量,而不是mysqld_safe 的 --open-files-limit
3. LimitCore, 設定最大內核文件大小, 而不是mysqld_safe 的 --core-file-size
4.Nice, 設定mysql server排程的優先級,而不是 --nice option for mysqld_safE
5.LD_PRELOAD, 指定mysql server 內存分配庫 ,Environment="LD_PRELOAD=/path/to/malloc/library"
6.TZ ,設定缺省的時區 Environment="TZ=time_zone_setting"
多種方法指定mysql server 的環境變量,在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的平臺上,空的數據目錄,將在mysql server啟動時,自動初始化數據。
NO_INIT=true
在/etc/sysconfig/mysql中指定 NO_INIT=true 來控制不要自動初始化數據庫。
在systemd環境下配置多實例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”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。