0
私はmysql proxy 0.8.2をインストールしました。私は3306でリッスンしている2つのMySQL 5.5サーバーと一緒に使用しています。プロキシは4040で動作しています。ああ、OSはWin 7 32ビットです。MySQLのプロキシと基本的なフェイルオーバー(状態の検出)
私の問題は、サーバーの状態を確認するmysqlプロキシがそれほどうまくいかないようです。
私はスクリプトを起動し、実行する必要があります。しかし、ときに私シャットダウンプライマリサーバ、スクリプトがそれを認識していないようだ - それはまだそれに接続しようと...
バージョン情報
mysql-proxy 0.8.2
chassis: mysql-proxy 0.8.2
glib2: 2.16.6
libevent: 1.4.12-stable
LUA: Lua 5.1.2
package.path: C:\ProgramX86\dev\mysql-proxy\lib\mysql-proxy\lua\?.lua
package.cpath: C:\ProgramX86\dev\mysql-proxy\bin\lua-?.dll
-- modules
proxy: 0.8.2*
マイ設定
[mysql-proxy]
proxy-address = :4040
proxy-backend-addresses = 10.3.0.9:3306,192.168.4.100:3306
proxy-lua-script = C:/ProgramX86/dev/mysql-proxy/failover3.lua
daemon = true
フェイルオーバーのluaスクリプト
function connect_server()
if proxy.global.backends[1].state == proxy.BACKEND_STATE_DOWN then
proxy.connection.backend_ndx = 2
else
proxy.connection.backend_ndx = 1
end
print ("s Connecting: " .. proxy.global.backends[proxy.connection.backend_ndx].dst.name)
end
function read_query(packet)
if proxy.global.backends[1].state == proxy.BACKEND_STATE_DOWN then
proxy.connection.backend_ndx = 2
else
proxy.connection.backend_ndx = 1
end
print ("q Connecting: " .. proxy.global.backends[proxy.connection.backend_ndx].dst.name)
end