怎么在linux中利用php对mysql同步状态进行检测?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
这里通过两个实例来介绍mysql同步状态检测实现方法。代码如下:
# !/bin/sh , ,, # check MySQL_Slave Status , # crontab time 00:10 , MYSQL_USER=皉oot", MYSQL_PWD=?23456”, MYSQL_SLAVE_LOG=?tmp/check_mysql_slave.log", 电子邮件=?351010 * * * * @139.com",, ,, MYSQL_PORT=' netstat na | grep “LISTEN" | grep “3306“| awk - f [:“,“] +, & # 39; {print 5美元}& # 39;’,, MYSQL_IP=' ifconfig eth0 | grep “inet addr", |, awk - f [:“,“] +, & # 39; {print 4美元}& # 39;’,, MYSQL_SLAVE_STATUS=$ (/usr/本地/网络服务器/mysql/bin/mysql -u root -psylc23hua -S /tmp/mysql.sock -e , “show  slave statusG", |, grep 我;“running"),, IO_ENV=' | echo MYSQL_SLAVE_STATUS 美元;grep IO |, awk & # 39;, {print $ 2} & # 39;’,, SQL_ENV=' | echo MYSQL_SLAVE_STATUS 美元;grep SQL |, awk & # 39; {print $ 2} & # 39;’,, 现在=$ (date -d today  + & # 39; Y % - % - % d % H: % m: % & # 39;),, ,, if [,“MYSQL_PORT"美元,=,“3306“,];then echo 才能“mysql  is 运行!“, else mail 才能;-s “警告!服务器:,MYSQL_IP 美元;mysql is down",“EMAIL"美元, fi ,, if [,“IO_ENV"美元,=,“Yes", -a “SQL_ENV"美元;,=,“Yes",]; then echo 才能“Slave  is 运行!“, else echo 才能“[,你美元],Slave is not 运行!“,在祝辞,“MYSQL_SLAVE_LOG"美元, cat 才能“MYSQL_SLAVE_LOG"美元;,|,mail -s “警告!,$ {MySQL_IP} _replicate_error",“EMAIL"美元, fi ,, exit 0
php实例代码,代码如下:
check_rep.php:
如果(emptyempty ($ _REQUEST [“key"]))死(& # 39;:)缺少关键# 39;);,
if ($ _REQUEST [“key"] !=& # 39;许鹏# 39;)死(& # 39;:)错误关键# 39;);
,
包括(“mysql_instance.php");
包括(“check_status_api.php");
,
定义(“USERNAME",“用户名“);
定义(“PASSWORD",“密码“);
定义(“DEBUGMODE",假);
,
$实例=get_instances ();
,
如果美元(实例){
,回声& lt; & lt;
,
& lt; !——30分钟自动刷新——比;
,
结束;
,呼应“;
n";
,如果(! DEBUGMODE) {
,回声“;
n";其他
,} {
,回声“;
n";
,}
, foreach(实例作为主机)美元{
,(res=check_mysql_replication_status美元主机、用户名、密码);
,如果(! DEBUGMODE) {
,,开关(res (“result")美元){
,,,案例4:
,,,,$备忘录=拔粗斐!?
,,,,打破;
,,,案例3:
,,,,$备忘录=安檠О堋?
,,,,打破;
,,,案例2:
,,,,$备忘录=拔薹佣丝凇?
,,,,打破;
,,,案例1:
,,,,$备忘录=白刺粗?
,,,,打破;
,,,例0:
,,,,$备忘录=癘K";
,,,,打破;
,,,案例1:
,,,,$备忘录=巴绞О堋?
,,,,如果(res美元[“Slave_IO_Running"] & lt;比;“Yes") {
,,,,,备忘录美元。=$ res (“Last_IO_Error")。“(“;又是;美元res
,
[“Last_IO_Errno"]。“)“;
,,,,}
,,,,如果(res美元[“Slave_SQL_Running"] & lt;比;“Yes") {
,,,,,备忘录美元。=$ res (“Last_SQL_Error")。“(“;又是;美元res
,
[“Last_SQL_Errno"]。“)“;
,,,,}
,,,,打破;
,,,案例2:
,,,,$备忘录=笆菘馕瓷柚猛健?
,,,,打破;
,,}
,,回声“;
,
n";
,其他}{
,,回声“;
,
n";
,null