技術乾貨 | 利用systemd管理MySQL單機多例項
有時候,我們需要在單機環境下跑多例項。在以前,一般是習慣用mysqld_multi來跑多例項。不過從CentOS 7開始引入systemd作為新的系統管理器後,用它來管理多例項也是很方便的。
本文我們以 RPM/YUM方式安裝後的MySQL為例,介紹如何用systemd管理多例項。
以RPM/YUM方式安裝完後,會生成systemd服務檔案 /usr/lib/systemd/system/mysqld.service,可以看到其中有兩行:
ExecStartPre=/usr/bin/mysqld_pre_systemd ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS
在編輯 /usr/bin/mysqld_pre_systemd 時能看到有 --defaults-group-suffix 選項,它就是用於構建多例項的了。接下來,只需要簡單的照貓畫虎就行。
複製MySQL服務檔案 /usr/lib/systemd/system/mysqld.service 到一個新檔案,例如 /usr/lib/systemd/system/greatsql@.service,加上一個 @ 符號,只需修改上述提到的2行內容,其他內容照舊即可:
# vim /usr/lib/systemd/system/greatsql@.service ... ExecStartPre=/usr/local/GreatSQL-8.0.25-15-Linux-glibc2.28-x86_64/bin/mysqld_pre_systemd %I ExecStart=/usr/local/GreatSQL-8.0.25-15-Linux-glibc2.28-x86_64/bin/mysqld --defaults-group-suffix=@%I $MYSQLD_OPTS ...
在這裡我改成GreatSQL的二進位制路徑,如果缺少 mysqld_pre_systemd 檔案,可以從 /usr/bin/mysqld_pre_systemd 複製一份,然後做些微調即可,詳細可參考 。
接下來編輯修改 /etc/my.cnf 配置檔案,在原來的基礎上增加多例項相關的幾個片段即可,例如:
[mysqld@mgr01] datadir=/data/GreatSQL/mgr01 socket=/data/GreatSQL/mgr01/mysql.sock port=3306 server_id=103306 log-error=/data/GreatSQL/mgr01/error.log group_replication_local_address= "127.0.0.1:33061" [mysqld@mgr02] datadir=/data/GreatSQL/mgr02 socket=/data/GreatSQL/mgr02/mysql.sock port=3307 server_id=103307 log-error=/data/GreatSQL/mgr02/error.log group_replication_local_address= "127.0.0.1:33071"#
更多例項照此方法繼續複製即可
然後執行命令 systemctl daemon-reload 重新載入systemd服務,即可識別到這些新增加的服務列表了:
# systemctl -l ... greatsql@mgr01.service greatsql@mgr02.service greatsql@mgr03.service ......
現在可以直接執行類似下面的命令啟停多例項服務:
# systemctl start greatsql@mgr01
這樣一來,就可以在單機環境下很方便地管理多例項服務了。
Enjoy GreatSQL :)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69997641/viewspace-2839725/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 多例項配置管理:MySql
- MySQL多例項配置MySql
- canal同步mysql,監聽單例項,多例項配置MySql單例
- MySQL5.7 多例項MySql
- mysql多例項安裝MySql
- MySQL多例項環境部署MySql
- 技術乾貨|如何利用 ChunJun 實現資料離線同步?
- 技術乾貨|如何利用 ChunJun 實現資料實時同步?
- 技術乾貨|如何實現分鐘級故障管理
- 技術乾貨 | WebRTC 技術解析之 Android VDMWebAndroid
- Linux下MySQL多例項部署記錄LinuxMySql
- [乾貨分享]1000篇乾貨好文!量子技術——進階篇
- [乾貨分享]1000篇乾貨好文!量子技術——資訊篇
- 阿里技術精華乾貨整理阿里
- Mysql:mysql多例項建立、配置檔案講解【四】MySql
- Mac10.13.6 Mysql5.7.23多例項部署MacMySql
- MySQL介紹及安裝與多例項MySql
- MySQL資料庫入門多例項配置MySql資料庫
- 技術乾貨| MongoDB時間序列集合MongoDB
- 技術乾貨 | 漫遊Linux塊IOLinux
- 2020文章合集 技術乾貨
- 【技術乾貨】原來ARM+Linux音訊方案如此簡單!Linux音訊
- [乾貨分享]1000篇乾貨好文!量子技術——專家觀點篇
- 技術乾貨:Applewatch APP設計規範APP
- 技術乾貨:RabbitMQ面試題及答案MQ面試題
- 技術乾貨:ActiveMQ面試題及答案MQ面試題
- 技術乾貨:Hadoop面試題及答案Hadoop面試題
- 技術乾貨 | WebRTC ADM 原始碼流程分析Web原始碼
- 乾貨!天翼雲DPU技術解碼
- 構建一機多例項tomcat叢集Tomcat
- 乾貨|如何利用CNN建立計算機視覺模型?CNN計算機視覺模型
- 技術乾貨丨如何在Docker環境下搭建測試管理平臺?Docker
- Spring Boot乾貨系列總綱 | 掘金技術徵文Spring Boot
- 技術乾貨:spring boot面試題及答案Spring Boot面試題
- 技術乾貨:LeetCode1- 20題詳解LeetCode
- 「技術乾貨」Pontus-用友雲限流服務
- CSDN社群乾貨技術分享:探尋技術進階之道(Python和AI)PythonAI
- flutter 多例項實戰Flutter