亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 32092 | 回復: 13
打印 上一主題 下一主題

貢獻一個mysql replication出錯自動檢測的腳本 [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2005-01-05 11:13 |只看該作者 |倒序瀏覽
需要DBIX及Mail等perl模塊
注意,雖然能夠自動修復,但是可能造成slave的數(shù)據(jù)條目少于master的條目!使用的時候自己注意些好了
本腳本是修改版,原作者是Jeremy Zawodny

  1. #!/usr/local/bin/perl -w
  2. #
  3. # fix mysql replication if it encounters a problem
  4. # Useage:perl fix_repl.pl ip1 ip2 ip3

  5.         $|=1;      # unbuffer stdout
  6.         use strict;
  7.         use DBIx::DWIW;
  8.         use Mail::Mailer;
  9.         my $ip;
  10. foreach $ip (@ARGV) {
  11.         &fixdb($ip);
  12. }

  13. exit;

  14. sub fixdb()
  15. {
  16.         my $host = shift || 'localhost';
  17.         my $conn = DBIx::DWIW->;Connect(
  18.                 DB   =>; "test",
  19.                 User =>; "sqlmon",
  20.                 Pass =>; '!@#$%^&*()',
  21.             Host =>; $host,
  22.                 Port  =>; 3306) or die "Couldn't connect to database!";

  23.         print "checking $host ... \n";
  24.         my $info = $conn->;Hash("SHOW SLAVE STATUS") or die $@;
  25.         my @version = $conn->;Array("SHOW VARIABLES LIKE 'Version'");
  26.         my $fix_cmd;
  27.         my $start_cmd;
  28. # slave not start
  29.         if ($info->;{Slave_IO_Running} eq 'No' and $info->;{Slave_SQL_Running} eq 'No')
  30.         {
  31.                 $fix_cmd = "SET SQL_SLAVE_SKIP_COUNTER = 1";
  32.                 $start_cmd = "SLAVE START";
  33.         }
  34. # 4.0.0 - 4.0.2
  35.         elsif ($version[1] =~ /^4\.0\.[012]/ and $info->;{Slave_SQL_Running} eq 'No')
  36.         {
  37.                 $fix_cmd = "SET SQL_SLAVE_SKIP_COUNTER = 1";
  38.                 $start_cmd = "SLAVE START SQL_THREAD";
  39.         }
  40. # 4.0.3 - 4.0.xx, 4.1.xx.  Don't know what 5.0 will be like.
  41.         elsif ($version[1] =~ /^4\.[01]\./ and $info->;{Slave_SQL_Running} eq 'No')
  42.         {
  43.                 $fix_cmd = "SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1";
  44.                 $start_cmd = "SLAVE START SQL_THREAD";
  45.         }
  46. # things are okay or unknown version?
  47.         else
  48.         {
  49.                         print "GOOD\n";
  50.         }
  51.         if ($info->;{Slave_IO_Running} eq 'No'  or  $info->;{Slave_SQL_Running} eq 'No' ){
  52.         &mailtoadmin($info,$host);
  53.         print "FIXING ... ";
  54.         $conn->;Execute($fix_cmd);
  55.         $conn->;Execute($start_cmd);
  56.         print "DONE\n";
  57.         }

  58. }

  59. sub mailtoadmin(){
  60.         my $body=shift;
  61.                 my $host = shift;
  62.         my @MailTo=("xxxx\@yyyy.com");
  63.         my $subject = "Mysql Self fix replication on $host ";
  64.                 my $mailer = Mail::Mailer->;new() or die $@;
  65.                 $mailer->;open({ From    =>; $host,
  66.                 To      =>; \@MailTo,
  67.                 Subject =>; $subject,
  68.                 })or die "Can't open: $!\n";
  69. #    while ( my ($key, $value) = each(%$body) ) {
  70. #        print $mailer "$key =>; $value\n";
  71. #    }
  72.         print $mailer <<MAILCONTENT;

  73.         *************************** show slave status***************************

  74.         Master_Host                        =>;  $body->;{'Master_Host'}
  75.         Master_User                        =>;  $body->;{'Master_User'}
  76.         Master_Port                        =>;  $body->;{'Master_Port'}
  77.         Connect_retry                =>;  $body->;{'Connect_retry'}
  78.         Master_Log_File        =>;  $body->;{'Master_Log_File'}
  79.         Read_Master_Log_Pos =>;$body->;{'Read_Master_Log_Pos'}
  80.         Relay_Log_File                =>;  $body->;{'Relay_Log_File'}
  81.         Relay_Log_Pos                =>;  $body->;{'Relay_Log_Pos'}
  82.         Relay_Master_Log_File =>;$body->;{'Relay_Master_Log_File'}
  83.         Slave_IO_Running =>;$body->;{'Slave_IO_Running'}
  84.         Slave_SQL_Running =>;$body->;{'Slave_SQL_Running'}
  85.         Replicate_do_db        =>;   $body->;{'Replicate_do_db'}
  86.         Replicate_ignore_db =>;$body->;{'Replicate_ignore_db'}
  87.         Last_errno                                =>;    $body->;{'Last_errno'}
  88.         Last_error                                =>;    $body->;{'Last_error'}
  89.         Skip_counter                        =>;    $body->;{'Skip_counter'}
  90.         Exec_master_log_pos =>; $body->;{'Exec_master_log_pos'}
  91.         Relay_log_space        =>;    $body->;{'Relay_log_space'}
  92. MAILCONTENT
  93.         $mailer->;close();
  94. }

復制代碼

論壇徽章:
0
2 [報告]
發(fā)表于 2005-01-05 17:14 |只看該作者

貢獻一個mysql replication出錯自動檢測的腳本

呵呵,謝謝樓主,其實如果用shell來做的話,是粉簡單的,而且以前也已經(jīng)有現(xiàn)成的了.

論壇徽章:
0
3 [報告]
發(fā)表于 2005-01-06 10:18 |只看該作者

貢獻一個mysql replication出錯自動檢測的腳本

不錯~~~保留

論壇徽章:
0
4 [報告]
發(fā)表于 2005-03-29 17:11 |只看該作者

貢獻一個mysql replication出錯自動檢測的腳本

看你的腳本作用不錯,能高訴我怎么用嗎?

論壇徽章:
0
5 [報告]
發(fā)表于 2005-03-29 17:14 |只看該作者

貢獻一個mysql replication出錯自動檢測的腳本

看你的腳本作用不錯,能高訴我怎么用嗎?

論壇徽章:
0
6 [報告]
發(fā)表于 2006-10-28 18:50 |只看該作者
yejr 你中文的MYSQL 手冊能打個包給我嗎?
先謝謝拉.
ba20000@163.com

論壇徽章:
1
數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2016-03-12 06:20:00
7 [報告]
發(fā)表于 2006-10-29 10:36 |只看該作者
不錯
不過生產(chǎn)環(huán)境中還是shell腳本來的方便

論壇徽章:
0
8 [報告]
發(fā)表于 2007-01-09 16:54 |只看該作者
原帖由 yejr 于 2005-1-5 17:14 發(fā)表
呵呵,謝謝樓主,其實如果用shell來做的話,是粉簡單的,而且以前也已經(jīng)有現(xiàn)成的了.


請版主幫幫忙,能提供shell腳本的連接嗎? 我翻了好久以前的帖子都沒翻到啊

論壇徽章:
0
9 [報告]
發(fā)表于 2007-01-09 20:24 |只看該作者
http://imysql.cn/?q=node/77
中的 mysql日常維護 里頭有類似的

論壇徽章:
0
10 [報告]
發(fā)表于 2007-01-10 09:04 |只看該作者
你可以把perl的翻譯成shell
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP