技術乾貨 | 利用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
- 利用mysqld_multi配置單機多例項MySql
- Linux下MySQL配置單機多例項LinuxMySql
- MySQL 多例項配置管理:MySql
- MySQL 5.5.35 單機多例項配置詳解MySql
- mysqld_multi搭建MySQL單機多例項服務MySql
- 技術乾貨收集
- MySQL單機多例項安裝並配置主從複製MySql
- 【MySQL】MySQL多例項開機自動重啟MySql
- mysql多例項部署MySql
- MySQL多例項配置MySql
- canal同步mysql,監聽單例項,多例項配置MySql單例
- MySQL 使用mysqld_multi部署單機多例項詳細過程MySql
- 技術乾貨|如何實現分鐘級故障管理
- 技術乾貨|如何利用 ChunJun 實現資料離線同步?
- 技術乾貨|如何利用 ChunJun 實現資料實時同步?
- mysql多例項安裝MySql
- MySQL5.7 多例項MySql
- MySQL多例項環境部署MySql
- mysql的多例項配置MySql
- 阿里技術精華乾貨整理阿里
- 單機多例項執行 percona server 5.7Server
- mysql 5.7 多例項安裝MySql
- 技術乾貨 | WebRTC 技術解析之 Android VDMWebAndroid
- MySQL 5.6同一物理主機配置多例項MySql
- [乾貨分享]1000篇乾貨好文!量子技術——資訊篇
- rabbitmq單機多例項叢集與負載均衡MQ負載
- 技術乾貨:RabbitMQ面試題及答案MQ面試題
- 技術乾貨:ActiveMQ面試題及答案MQ面試題
- 技術乾貨| MongoDB時間序列集合MongoDB
- MySQL 多例項刪庫指令碼MySql指令碼
- Mysql之多例項my.cnfMySql
- [乾貨分享]1000篇乾貨好文!量子技術——進階篇
- 技術乾貨:Hadoop面試題及答案Hadoop面試題
- 2020文章合集 技術乾貨
- 技術乾貨 | 漫遊Linux塊IOLinux
- 乾貨!天翼雲DPU技術解碼
- MySQL入門--Mysqld_multi多例項MySql