在Unix中執行多個mysql伺服器

2021-06-07 05:05:57 字數 1833 閱讀 2846

在unix中執行多個伺服器最容易的方法是使用不同的tcp/ip埠s和unix套接字檔案編譯,因此每個例項在不同的網路介面偵聽。另外,每個安裝應在不同的基礎目錄中編譯,那將自動為你的每個伺服器產生使用不同的編譯進來的資料目錄、日誌檔案和pid檔案位置。

假設乙個現有的4.1.8版本伺服器配置為預設tcp/ip埠號(3306)和unix套接字檔案(/tmp/mysql.sock)。要想配置乙個新的5.1.2-alpha版的伺服器來使用不同的操作引數,使用乙個configure命令,大概象這樣使用:

shell>./configure --with-tcp-port=port_number \
--with-unix-socket-path=file_name \
--prefix=/usr/local/mysql-5.1.2-alpha
這裡,port_number和file_name必須不同於預設tcp/ip埠號和unix套接字檔案路徑名,並且--prefix值應指定乙個不同於現有mysql安裝目錄的安裝目錄。

shell>mysqladmin --host=host_name --port=port_number variables
通過該命令顯示的資訊,當配置其它伺服器時,你可以告訴伺服器該選項沒有使用的值。

請注意,如果你指定localhost作為乙個主機名,mysqladmin預設使用unix套接字檔案連線,而不是tcp/ip。從 mysql 4.1開始,通過--protocol= tcp | socket | pipe | memory}選項,你可以顯示地指定連線協議。

如果只是用乙個不同的unix套接字檔案和tcp/ip埠號啟動,不必編譯新的mysql伺服器。還可以在執行時指定這些值。這樣做的乙個方法是使用命令列選項:

shell>mysqld_safe --socket=file_name --port=port_number
要啟動第二個伺服器,提供不同的--socket和--port選項值,並且傳遞乙個--datadir=path選項給mysqld_safe,以便伺服器使用乙個不同的資料目錄。

達到相似效果的另乙個方法是使用環境變數來設定 unix套接字檔名和tcp/ip埠號:

shell>mysql_unix_port=/tmp/mysqld-new.sock
shell>mysql_tcp_port=3307
shell>export mysql_unix_port mysql_tcp_port
shell>mysql_install_db --user=mysql
shell>mysqld_safe --datadir=/path/to/datadir &
這是乙個快速啟動第二個伺服器以用於測試的方法。該方法的最大好處是環境變數設定值適用於你從相同的shell呼叫的任何客戶端程式。因而,那些客戶端連線自動指向第二個伺服器!

對於自動伺服器啟動,對於每個伺服器,機器引導時執行的啟動指令碼應執行下面的命令,每個命令用乙個相應的選項檔案路徑:

mysqld_safe --defaults-file=path
每個選項檔案應包含乙個給定伺服器特定的選項值。

在unix中,mysqld_multi指令碼是啟動多個伺服器的另乙個方法。

在每個執行中執行多個查詢 變電執行中繼電保護問題

繼電保護裝置根據負載電荷和使用狀態等多個方面可以劃分為不同的種類,以及時地發現問題,方便掌握各個裝置的運轉狀態。具體的分類有 a類,正常執行,指變電裝置的狀態良好,正常執行,不存在安全隱患 b類,可疑狀態,指的是變電系統存在一些尚未查明的故障,存在一定的安全隱患問題 c類,低可靠性狀態,指通檢測手段...

在SHELL中執行MYSQL語句

使用shell指令碼做日誌分析,為了將分析後的結果直接儲存到mysql資料庫中需要在shell指令碼中執行mysql的語句。方法一將每一步需要執行的語句儲存到 tmp.sql 中,最後在使用 mysql u uname p pwd tmp.sql 方式執行 方法二使用引數傳遞執行 mysql u u...

在MySQL中執行SQL檔案

在程式初始化時一般會把要執行的sql語句放到乙個sql檔案,在程式安裝時自動執行,其實就是批處理執行sql命令。同樣,可以手動執行sql檔案,具體步驟如下 1 使用root帳戶登入到mysql伺服器 2 執行source命令 mysql source c test.sql 注意 檔案路徑中建議使用 ...