2012-02-16 5 views
0

방금 ​​mysql 프록시 0.8.2를 설치했으며 함께 시작했습니다. 두 개의 MySQL 5.5 서버와 함께 3306에서 수신 대기하고 있으며 프록시는 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 

proxy.global.backends[1].state 여전히때문에 장애 조치 루아 스크립트는

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 

답변

1

그것은이다주 서버가 종료됩니다. 누군가가 Mysql 서비스를 항상 보지 않고 백엔드 응답을 기다리는 데 3 분이 걸릴 것이라고했습니다. 문제를 해결하는 더 좋은 방법을 찾고 있습니다.