第九章 主機管理
9.1 啟動伺服器 2
9.2 停止伺服器 3
9.3 執行緒管理 3
9.4 系統參數管理 4
9.4.1 系統變數 4
9.4.2 修改變數 5
9.4.3 修改my.ini定義檔 5
9.5 日誌檔 5
9.6 備用伺服器 8
9.6.1 啟用 8
9.6.2 停用 8
9.6.3 重設 8
9.6.4 載入資料 9
9.7 變更主機 9
回目錄
第九章 主機管理
主機管理功能,包括啟動伺服器、停止伺服器、管理執行緒、設定系統工作 參數、日誌檔管理、備用伺服器管理及主機變更設定。在主功能表點選【主機管
理】,將開啟如圖 9.1 所示之下拉功能表,可視需要點選相關功能。
圖 9.1 主機管理下拉功能表 9.1 啟動伺服器
啟動EasyDoMySQL時,此項功能將預設為無法點擊,當伺服器處於停用狀 態,則此項功能則重設為可用。若需要重新啟動伺服器,請在圖 9.2 上點擊【開
啟執行檔】,即可開啟檔案對話方塊,選取mysqld.exe執行檔後,點擊【啟動】以
重新啟動伺服器,執行畫面如圖 9.2 所示。
圖 9.2 啟動伺服器執行畫面 可使用下列指令來啟動伺服器:
fstr =OpenFileDialog1.FileName If InStr(fstr, "mysqld") = 0 Then
MsgBox("非mysqld 執行檔") Exit Sub
End If
dstr = Application.StartupPath & "\dobat.bat"
str = "cmd/c " & vbCrLf
str = str & fstr & " --console" & vbCrLf
My.Computer.FileSystem.WriteAllText(dstr, str, False, ystem.Text.Encoding.Default) 說明:呼叫DOS之Shell指令來執行上述批次指令。 ↑H
Call Shell(dstr, 0) 9.2 停止伺服器
假如需要整理伺服端資料或是需要重新安裝MySQL時,伺服器必須予以停 用。若伺服器處於開啟狀態,則此項功能將重設為可用。若需要停止伺服器,請 在圖 9.3 上點擊【開啟執行檔】以開啟檔案對話方塊,選取mysqladmin.exe執行 檔後,點擊【停止】即可停止伺服器,執行畫面如圖 9.3 所示。
圖 9.3 停止伺服器執行畫面
可使用下列指令來停止伺服器:
fstr =OpenFileDialog1.FileName
If InStr(str, "mysqladmin.exe") = 0 Then MsgBox("非mysqladmin.exe 執行檔") Exit Sub
End If
str = str & " -u " & USR & " -p" & PSW & " shutdown"
Call Shell(str, 0) 9.3 執行緒管理
此項功能用於檢視及刪除執行緒,工作畫面如圖 9.4 所示。
圖 9.4 執行緒管理畫面
假如需要停止某個執行緒,請在執行緒ID欄輸入對應之執行緒代號,然後點
擊【中斷連線】。若以滑鼠點擊資料表之ID欄,然後點擊其它欄位或是點擊執行
緒ID欄,則可直接選用執行緒。
可使用下列指令來刪除執行緒: ↑H
cmd = "Kill " & txtProcessID.Text & ";"
myCmd = New OdbcCommand(cmd, myCon) myCmd.ExecuteNonQuery()
9.4 系統參數管理
此項功能用於管理系統工作變數,包含下列三種作業模式,開啟之工作畫面 如圖 9.5 所示。
系統變數:查閱及選擇系統變數。
修改變數:修改選定之系統變數設定值,變數名稱設為 Variables 時,才可啟用 此項功能。
my.ini:啟動記事本來編修 my.ini 設定值。
圖 9.5 變數管理工作畫面
9.4.1 系統變數
可依變數類別來查閱變數設定值,可下拉變數名稱來選擇所需變數。變數分 成下述類別:
¾ Variables
¾ Binlog Events
¾ Character Set
¾ Engines
¾ Errors
¾ Grants
¾ Engines BDB Logs
¾ Master Logs
¾ Master Status
¾ Privileges
¾ Slave Hosts
¾ Slave Status ↑H
¾ Status
¾ Table Status
¾ Variable By Name
¾ Warnings
若需要選取變數,請以滑鼠點擊資料表之變數名稱欄,然後點擊【選入變數
】,則可將變數之名稱及設定值填入對應欄位。
可用下列指令查看變數內容:
strSQL = "Show " & 變數類別名稱 Dim ds As New DataSet
Dim daView1 As DataView
Dim da As New OdbcDataAdapter(strSQL, myCon) da.Fill(ds, "varTable")
tbl = ds.Tables("varTable") daView1 = tbl.DefaultView 9.4.2 修改變數
當變數名稱設為Variables時,此項功能才可啟用。請先選取變數,然後點擊
【修改變數】功能表,即可開啟【重設變數】按鈕,此按鈕用於將設定值寫入當 下之連線工作記憶體內。可在處理端指定有效範圍,若是選取Session,則修改值 限定在該用戶當下之連線,若是選取Global,則所有連線均受到影響。
可用下列指令查看變數內容:
cmd = "Set [GLOBAL|SESSION] 變數名稱= 變數值 ;"
myCmd = New OdbcCommand(cmd, myCon) myCmd.ExecuteNonQuery()
9.4.3 修改 my.ini 定義檔
用戶也可直接修改my.ini定義檔來設定系統工作變數。點選功能表【my.ini】
及【編輯】,將開啟檔案對話方塊,請選取你的定義檔,接著螢幕將開啟如圖 9.6
工作畫面,可在文字方塊內直接修改對應參數。修改完成後,請點選功能表
【my.ini】及【存檔】,將設定資料存回定義檔,這些設定值須在下次重新開機 時才生效。
9.5 日誌檔
此功能用於管理各類日誌檔,工作畫面如圖 9.7 所示。如需深入了解日誌檔 之啟用與管理方式,請參看第三章日誌檔管理說明。
↑H
編修my.ini系統變數值 編修my.ini系統變數值
圖 9.6 編輯 my.ini 定義檔工作畫面
圖 9.7 日誌檔管理工作畫面 日誌檔分成下述類別:
¾ Binlog Events
¾ Errors
¾ Engine BDB Logs
¾ Master Logs
¾ Master Status
¾ Slave Hosts
¾ Slave Status
¾ Status
¾ Warnings
點擊【查看日誌檔】,將開啟檔案對話方塊,請選取所需日誌檔,本 ↑H
發展工具將以下述指令讀取日誌檔內容:
fstr = OpenFileDialog1.FileName fstr = Replace(fstr, "\", "/") If InStr(fstr, "-bin") > 0 Then
fPath = Application.StartupPath & "\viewlog.bat"
dstr = "Cmd/c" & vbCrLf
dstr = dstr & " mysqlbinlog.exe " & fstr & " > " & Application.StartupPath &
"\viewbinlog.txt" & vbCrLf
說明:使用mysqlbinlog.exe主控端應用程式查看日誌檔 My.Computer.FileSystem.WriteAllText(fPath, dstr, False,
System.Text.Encoding.Default) Call Shell(fPath, 0)
txtDOC.Location = New Point(5, 70) My.Computer.FileSystem.DeleteFile(fPath)
txtDOC.Text = My.Computer.FileSystem.ReadAllText(Application.StartupPath &
"\viewbinlog.txt", System.Text.Encoding.Default)
My.Computer.FileSystem.DeleteFile(Application.StartupPath &
"\viewbinlog.txt") Else
txtDOC.Text = My.Computer.FileSystem.ReadAllText(fstr, System.Text.Encoding.Default)
End If
點擊【更新日誌檔】,將使用下述指令更新日誌檔內容:
cmd = "Flush Logs;"
myCmd = New OdbcCommand(cmd, myCon) myCmd.ExecuteNonQuery()
若需刪除日誌檔,則需先行設定刪除對象,刪除對象分成下列三種,使用 Purge Master 時可指定刪除範圍。
¾ Purge Master
¾ Reset Master
¾ Reset Slave
可使用下述指令刪除日誌檔內容:
If rstLog.Text = "Purge Master" Then 說明:rstLog.Text為刪除方法下拉方塊
str = rstLog.Text & " Logs TO '" & pugTO.Text & "';"
Else
str = rstLog.Text & ";" ↑H
End If
cmd = "Use mysql"
myCmd = New OdbcCommand(cmd, myCon) myCmd.ExecuteNonQuery()
myCmd = New OdbcCommand(str, myCon) myCmd.ExecuteNonQuery()
9.6 備用伺服器
此項功能用於管理備用伺服器,分成四項子功能,可依需要選用相關功能來 處理對應作業。若需了解備用伺服器之設定步驟,請讀者參看第三章第 8 節說 明。備用伺服器工作畫面如圖 9.8 所示:
9.6.1 啟用
此功能用於啟動備用伺服器,可使用下述指令啟動備用伺服器:
Dim cmd As String cmd = "Start Slave;"
myCmd = New OdbcCommand(cmd, myCon) myCmd.ExecuteNonQuery()
圖 9.8 備用伺服器選單 9.6.2 停用
此功能用於停止備用伺服器,可使用下述指令停止備用伺服器:
Dim cmd As String cmd = "Stop Slave;"
myCmd = New OdbcCommand(cmd, myCon) myCmd.ExecuteNonQuery()
9.6.3 重設
此功能用於設定備用伺服器,可使用下述指令重設備用伺服器: ↑H
Dim cmd As String cmd = "Reset Slave;"
myCmd = New OdbcCommand(cmd, myCon) myCmd.ExecuteNonQuery()
9.6.4 載入資料
此功能可從主伺服器載入資料到備用伺服器,可使用下述指令重設備用伺服 器:
Dim cmd As String
cmd = "Load Data From Master;"
myCmd = New OdbcCommand(cmd, myCon) myCmd.ExecuteNonQuery()
9.7 變更主機
此功能用於變更備用伺服器連結主機位址,工作畫面如圖 9.8 所示。請依畫 面提示輸入相關資料,然後點擊【主機變更確認】,即可變更主機。
圖 9.9 變更主機工作畫面
本發展工具將以下述指令來變更主機:
Dim str As String
說明:以下程式用於設定主機屬性及工作條件
str = " Change Master to MASTER_HOST ='" & mHost.Text & "', MASTER_PORT
=" & mPort.Text & ", "
↑H
str = str & "MASTER_USER ='" & mUser.Text & "', MASTER_PASSWORD ='" &
mPswd.Text & "'"
If mLog.Text <> "" Then str = str & ", MASTER_LOG_FILE='" & mLog.Text & "', MASTER_LOG_POS =" & mlPos.Text
If rLog.Text <> "" Then str = str & ", RELAY_LOG_FILE='" & rLog.Text & "', RELAY_LOG_POS =" & rlPos.Text
str = str & ", MASTER_CONNECT_RETRY =" & conTimes.Text
說明:以下程式用於設定SSL安全機制 If sslYN = True Then
If mstSSL.Text <> "" Then str = str & ", MASTER_SSL= " & mstSSL.Text
If caFile.Text <> "" Then str = str & ", MASTER_SSL_CA= '" & caFile.Text & "'"
If caPath.Text <> "" Then str = str & ", MASTER_SSL_CAPATH= '" &
caPath.Text & "'"
If certFile.Text <> "" Then str = str & ", MASTER_SSL_CERT= '" & certFile.Text
& "'"
If keyFile.Text <> "" Then str = str & ", MASTER_SSL_KEY= '" & keyFile.Text
& "'"
If ciList.Text <> "" Then str = str & ", MASTER_SSL_CIPHER= '" & ciList.Text
& "'"
End If
str = str & ";"
Dim cmd As String cmd = "Use mysql;"
myCmd = New OdbcCommand(cmd, myCon) myCmd.ExecuteNonQuery()
cmd = "Stop Slave;"
說明:停止備用伺服器
myCmd = New OdbcCommand(cmd, myCon) myCmd.ExecuteNonQuery()
myCmd = New OdbcCommand(str, myCon) myCmd.ExecuteNonQuery()
說明:連接新主機 cmd = "Start Slave;"
說明:重新啟動備用伺服器
myCmd = New OdbcCommand(cmd, myCon) myCmd.ExecuteNonQuery()
↑H 回目錄