if(emptyempty($_REQUEST["key"])) die(':) 키 누락');
if($_REQUEST["key"] != 'xupeng') die(':) 오류 키');
include("mysql_instance.php")
include("check_status_api.php")
정의("USERNAME", "사용자 이름")
정의("비밀번호", "비밀번호")
정의("DEBUGMODE", false)
$인스턴스 = get_instances()
if($인스턴스){
에코
종료
에코 "
n";
if(!DEBUGMODE){
에코 "
n";
}그밖에{
에코 "
n";
}
foreach($instances를 $host로){
$res = check_mysql_replication_status($host, USERNAME, PASSWORD)
if(!DEBUGMODE){
스위치($res["result"]){
사례 -4:
$memo = "알 수 없는 예외"
휴식
사례 -3:
$memo = "쿼리 실패"
휴식
사례 -2:
$memo = "포트에 연결할 수 없습니다"
휴식
사례 -1:
$memo = "알 수 없는 상태"
휴식
사례 0:
$memo = "확인"
휴식
사례 1:
$memo = "동기화 실패"
If($res["Slave_IO_Running"] <> "예"){
$memo .= $res["Last_IO_Error"] . "(" . $res
["Last_IO_Errno"] . ")";
}
If($res["Slave_SQL_Running"] <> "예"){
$memo .= $res["Last_SQL_Error"] . "(" . $res
["Last_SQL_Errno"] . ")";
}
휴식
사례 2:
$memo = "데이터베이스가 동기화되지 않았습니다"
휴식
}
에코 "
n";
}그밖에{
에코 "
n";
}
}
에코 "
<테이블 테두리="">
인스턴스 |
결과 |
Slave_IO_Running |
Slave_SQL_Running |
마스터_호스트 |
마스터_포트 |
Replicate_Do_DB |
메모 |
인스턴스 |
결과 |
Slave_IO_Running |
Slave_SQL_Running |
마스터_호스트 |
마스터_포트 |
Replicate_Do_DB |
Slave_IO_State |
Last_IO_Errno |
Last_IO_Error |
Last_SQL_Errno |
Last_SQL_Error |
{$호스트} |
{$res['result']} |
{$res['Slave_IO_Running']} |
{$res['Slave_SQL_Running']} |
{$res['Master_Host']} |
{$res['Master_Port']} |
{$res['Replicate_Do_DB']} |
{$memo} |
{$호스트} |
{$res['result']} |
{$res['Slave_IO_Running']} |
{$res['Slave_SQL_Running']} |
{$res['Master_Host']} |
{$res['Master_Port']} |
{$res['Replicate_Do_DB']} |
{$res['Slave_IO_State']} | {$res['Last_IO_Errno']} |
{$res['Last_IO_Error']} |
{$res['Last_SQL_Errno']} |
{$res['Last_SQL_Error']} |
본체>
테이블>
n";
에코
종료
}그밖에{
die("mysql 인스턴스가 정의되지 않았습니다.");
}
check_status_api.php:
코드 복사
코드는 다음과 같습니다.
//GRANT REPLICATION CLIENT ON *.* TO 'Username'@' 모니터링 호스트 IP'는 'password'로 식별됩니다. $mysql_instances =
위 3개의 PHP 파일을 가상 디렉터리에 넣고 URL을 통해 접근하세요.
액세스 방법: http://ip/check_repl.php?key=xupeng
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.