PHP實現(xiàn)的mysql主從數(shù)據(jù)庫狀態(tài)檢測功能示例
本文實例講述了PHP實現(xiàn)的mysql主從數(shù)據(jù)庫狀態(tài)檢測功能。分享給大家供大家參考,具體如下:
實例:
<?php /** * 檢測多個主從數(shù)據(jù)庫是否掛掉 * 建立從數(shù)據(jù)庫$slave_db的二維數(shù)組,內(nèi)容包含每個從服務(wù)器的配置數(shù)據(jù) */ header("Content-Type: text/html; charset=utf-8"); set_time_limit(0); $slave_db = array( 'db1'=>array( 'hostname' => '127.0.0.1', 'port' => 3306, 'database' => 'test', 'username' => 'root', 'password' => '111111', 'charset' => 'utf8', ), 'db2'=>array( 'hostname' => '127.0.0.2', 'port' => 3306, 'database' => 'test', 'username' => 'root', 'password' => '111111', 'charset' => 'utf8', ), ); $content = ''; foreach ($slave_db as $db_key) { $host = $db_key['hostname']; $port = $db_key['port']; $db_user = $db_key['username']; $db_pass = $db_key['password']; $slave_link = mysql_connect($host,$db_user,$db_pass); if(mysql_errno()) { $content .= "從數(shù)據(jù)庫( $host )無法連接 ! <br/>"; $content .= mysql_error() . "<br/>"; continue; } $sql = "show slave status"; $result = mysql_query($sql, $slave_link); $row = mysql_fetch_assoc($result); $Slave_IO_Running = $row['Slave_IO_Running']; $Slave_SQL_Running = $row['Slave_SQL_Running']; if ('Yes' == $Slave_IO_Running && 'Yes' == $Slave_SQL_Running) { } else { $content .= "從數(shù)據(jù)庫( $host )掛掉了! <br/>"; } mysql_free_result($result); mysql_close($slave_link); } //若報錯信息不為空,發(fā)送報錯郵件 if(!empty($content)) { $title = '主從數(shù)據(jù)庫狀態(tài)檢測報錯 '; $content = date("Y-m-d H:i:s",time()) . "<br/>" . $content; $sendurl = "http://localhost/api.ftrend.com/test.php?title=".$title."&content=".$content; $result = file_get_contents($sendurl); if('ok' != $result) { $message = date("Y-m-d H:i:s",time()).'slaveStatus.php主從數(shù)據(jù)庫狀態(tài)檢測報錯,郵件發(fā)送失敗!'."\n"; $content = str_replace("<br/>", "\n", $content); $message .= $content; error_log($message,3,"error.log"); } }
<?php $title = $_GET['title']; $content = $_GET['content']; $content = str_replace("<br/>", "\n", $content); error_log($title."\n",3,'error.log'); error_log($content."\n",3,'error.log'); echo 'ok';
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php+mysql數(shù)據(jù)庫操作入門教程》、《php+mysqli數(shù)據(jù)庫程序設(shè)計技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
- MYSQL主從數(shù)據(jù)庫同步備份配置的方法
- MHA實現(xiàn)mysql主從數(shù)據(jù)庫手動切換的方法
- Ubuntu配置Mysql主從數(shù)據(jù)庫
- mysql主從數(shù)據(jù)庫不同步的2種解決方法
- Mysql 主從數(shù)據(jù)庫同步(centos篇)
- linux下指定mysql數(shù)據(jù)庫服務(wù)器主從同步的配置實例
- windows環(huán)境下mysql數(shù)據(jù)庫的主從同步備份步驟(單向同步)
- MySQL數(shù)據(jù)庫InnoDB引擎主從復(fù)制同步經(jīng)驗總結(jié)
- 詳解MySQL數(shù)據(jù)庫設(shè)置主從同步的方法
- MySQL主從數(shù)據(jù)庫搭建方法詳解
相關(guān)文章
PHP+Redis開發(fā)的書簽案例實戰(zhàn)詳解
這篇文章主要介紹了PHP+Redis開發(fā)的書簽案例,結(jié)合實例形式詳細分析了php結(jié)合redis開發(fā)書簽功能的具體步驟及相關(guān)操作技巧,需要的朋友可以參考下2019-07-07php連接與操作PostgreSQL數(shù)據(jù)庫的方法
這篇文章主要介紹了php連接與操作PostgreSQL數(shù)據(jù)庫的方法,以實例形式較為詳細的分析了php連接PostgreSQL數(shù)據(jù)庫以及進行讀取與增加、修改、刪除等技巧,具有一定的參考借鑒價值,需要的朋友可以參考下2014-12-12PHP strtotime函數(shù)用法、實現(xiàn)原理和源碼分析
這篇文章主要介紹了PHP strtotime函數(shù)用法、實現(xiàn)原理和源碼分析,本文講解了strtotime函數(shù)的一些用法、strtotime函數(shù)的實現(xiàn)基本原理、strtotime(“-1 month”)求值失敗的原因等內(nèi)容,需要的朋友可以參考下2015-02-02PHP PDO和消息隊列的個人理解與應(yīng)用實例分析
這篇文章主要介紹了PHP PDO和消息隊列的個人理解與應(yīng)用,結(jié)合實例形式分析了PHP pdo與消息隊列相關(guān)配置、使用方法及操作注意事項,需要的朋友可以參考下2019-11-11