c windows環境 編寫mysql集群服務

2022-08-02 01:09:10 字數 2279 閱讀 2942

在搭建mysql集群初期的時候遇到這樣的問題,如果伺服器關機了或者是把搭建mysql集群的dos視窗關了,mysql集群就宕掉了,還需要重新搭建,之前搭建的時候都說直接在dos環境下搭建就可以了,一次兩次的還可以接受,雖然一分鐘就能搞定集群搭建,但是宕掉的次數多了,就需要思考了,如何讓他關機重啟以後還可以正常執行,減少這種重複性的工作,保持正常的開發不受影響。

1、做乙個批處理

想法:寫乙個批處理,讓他自動執行,執行完以後自動退出。

可行性分析:mysql集群的命令執行後只是出現相應的結果顯示,所以不會自動執行完並退出,無法解決當前的問題

2、寫乙個服務

想法:通過寫乙個服務,讓他開機自動開啟,如果是服務停止了,直接啟動就可以了,這樣就不用輸入一堆的命令了,只要服務的命名規範一點,所有人的可以輕鬆搭建mysql集群。

可行性分析:通過實踐,這種方法已經實現

在vs中新建乙個c#的windows服務 專案,在service的服務類中,調出dos視窗,並在dos視窗中寫入需要執行的dos命令,下面以管理節點為例,進行說明。

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.diagnostics;

using system.linq;

using system.serviceprocess;

using system.text;

using system.threading.tasks;

namespace windowsservice

protected override void onstart(string args)

protected override void onstop()

//doscommand dos命令語句

public string execute(string doscommand)

/// /// 執行dos命令,返回dos命令的輸出

///

/// dos命令

/// 等待命令執行的時間(單位:毫秒),

/// 如果設定為0,則無限等待

/// 返回dos命令的輸出

public static string execute(string command, int seconds)

else

// output = process.standardoutput.readtoend();//讀取程序的輸出 }}

catch

finally

}return output;}}

}

如何安裝服務:先建立服務,然後啟動服務。執行命令提示符 cmd.exe

輸入 sc create testservicename binpath= d:\test.exe

輸入 sc start testservicename 啟動服務

輸入 sc stop testservicename 停止服務

輸入 sc delete testservicename刪除服務,該服務將在下次重啟後刪除,在重啟之前將不能註冊同乙個名字的服務。

剛開始研究mysql集群的時候就想寫個服務,一直忙別的事情,閒下來就找老崔一塊鼓搗這個,玩著玩著就弄出來了。

1、事情永遠沒有你想的那麼難,去做就好。

2、不要做重複性的事情,**中用的是封裝,mysql集群可以使用服務。

windows xampp環境下公升級mysql

question 安裝ones erp系統,安裝提示 need mysql version 5.6.5 mysql version顯示 mysql ver 15.1 distrib 10.1.13 mariadb,for win32 amd64 原本以為提示有錯,我的mysql版本明顯大於5.6.5...

IDAPython指令碼編寫環境

使用工具 ida pro v7.0,安裝時自動安裝python 2.7.13 win32 1.首先使用ida開啟乙個專案 2.file選項下 script file.選項可選擇idc或py檔案,開啟即執行,執行結果顯示在介面下方的output window中 script command.選項彈出如...

企業環境下如何配置Zabbix 監控 MySQL

配置zabbix 監控 mysql 1.客戶端配置 伺服器 ubuntu14.04 之前裝過 zabbix agent 但是看了一下版本是2.2的,已經很落後了,於是公升級了一下。配置檔案不用備份,公升級會幫你自動備份 公升級後發現多了 etc zabbix zabbix agentd.d 目錄下有...