Hi All On http://www.nagiosexchange.org/cgi-bin/search.cgi?d=1&query=check_mysql&Go=Go I found some useful scripts to do the work and there are some scripts that do the work as you have described. The most important lesson I have learned is to know how theses various tools achieve the goals (not only the tools themselves).
Thank you all for your great help. Yours Xu Feng > -----Original Message----- > From: xufeng [mailto:xuf...@yuanjie.net] > Sent: 2008年12月25日 10:13 > To: 'Baron Schwartz'; 'Jake Maul'; claudio.na...@gmail.com; > andy-li...@networkmail.eu; claudio.na...@gmail.com > Cc: mysql@lists.mysql.com > Subject: RE: On fighting with master-slave replication lag > > > > > -----Original Message----- > > From: baron.schwa...@gmail.com [mailto:baron.schwa...@gmail.com] On Behalf > > Of Baron Schwartz > > Sent: 2008年12月24日 22:06 > > To: Jake Maul > > Cc: mysql@lists.mysql.com > > Subject: Re: On fighting with master-slave replication lag > > > > On Wed, Dec 24, 2008 at 2:31 AM, Jake Maul <jakem...@gmail.com> wrote: > > > Slightly more complicated (and also probably more accurate- the time > > > reported by show slave status is known to be unreliable in some cases) > > > would be a script that inserts a row into a table, then check the > > > slave over and over till it arrives. Or even better, insert 2 > > > values... a timestamp that *you* provide (in a shell script, something > > > like $(date) would work) and a timestamp generated by MySQL.... > > > assuming the times are syncronized on the master, slave, and the box > > > you're inserting from, when the insert hits the slave it'll generate > > > it's own timestamp, which you can then subtract *your* timestamp from. > > > > > > There's also a tool in maatkit which does replication tracking, > > > although I've not yet used it. Judging by the other tools in that > > > package though, it's probably pretty decent :). > > > > It is mk-heartbeat, and it does pretty much what you described, > > although it's been tweaked to be slightly more complex to suit various > > real-world scenarios. > > > I have read some stuff on http://www.maatkit.org/doc/mk-heartbeat.html and > am interested in this tool. I guess in reality the mk-heartbeat tool checks > the output of show master status on the master with focus on the File and > Position fileds. > > mysql> show master status \G > *************************** 1. row *************************** > File: mysql-bin.000004 > Position: 3037 > Binlog_Do_DB: > Binlog_Ignore_DB: > 1 row in set (0.00 sec) > > And it can give the delay alert or calculating the delay by checking the > output of show slave status on the slave with the same focus on the > Master_Log_File and Exec_Master_Log_Pos fileds.It compares the two fields > from slave with the two fields from master. > > mysql> show slave status \G > *************************** 1. row *************************** > Slave_IO_State: Waiting for master to send event > Master_Host: 10.20.15.120 > Master_User: replication1 > Master_Port: 3306 > Connect_Retry: 60 > Master_Log_File: mysql-bin.000004 > Read_Master_Log_Pos: 3037 > Relay_Log_File: localhost-relay-bin.000049 > Relay_Log_Pos: 235 > Relay_Master_Log_File: mysql-bin.000004 > Slave_IO_Running: Yes > Slave_SQL_Running: Yes > Replicate_Do_DB: test_db1 > Replicate_Ignore_DB: mysql > Replicate_Do_Table: > Replicate_Ignore_Table: > Replicate_Wild_Do_Table: > Replicate_Wild_Ignore_Table: > Last_Errno: 0 > Last_Error: > Skip_Counter: 0 > Exec_Master_Log_Pos: 3037 > Relay_Log_Space: 235 > Until_Condition: None > Until_Log_File: > Until_Log_Pos: 0 > Master_SSL_Allowed: No > Master_SSL_CA_File: > Master_SSL_CA_Path: > Master_SSL_Cert: > Master_SSL_Cipher: > Master_SSL_Key: > Seconds_Behind_Master: 0 > 1 row in set (0.00 sec) > > Am I right? > Or can you provide some info on the detailed description of mk-heartbeat? > > > > > -- > > MySQL General Mailing List > > For list archives: http://lists.mysql.com/mysql > > To unsubscribe: http://lists.mysql.com/mysql?unsub=xuf...@yuanjie.net > > > > > -- > MySQL General Mailing List > For list archives: http://lists.mysql.com/mysql > To unsubscribe: http://lists.mysql.com/mysql?unsub=xuf...@yuanjie.net -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/mysql?unsub=arch...@jab.org