ÅúÁ¿Ìø¹ýmysql slave´íÎóС½Å±¾
[perl] ÅúÁ¿Ìø¹ýmysql slave´íÎóС½Å±¾
2009Äê02ÔÂ20ÈÕ 16:24
·¢ÏÖmysql slave·þÎñÆ÷¾³£ÒòÎªÒ»Ð©ÌØÊâ×Ö·û»òÕß·ûºÅ²úÉúµÄ¸üÐÂÓï¾ä±¨´í£¬Õû¸öͬ²½Ò²»áÒò´Ë¶ø¿¨ÔÚÄÇ£¬×î³õµÄ°ì·¨Ö»ÊÇÊÖ¶¯È¥³ö´íµÄ»úÆ÷£¬Ö´ÐÐÏÂÃæÈýÌõsqlÓï¾ä£¬Ìø¹ý´íÎó¼´¿É¡£
slave stop;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
slave start;
һ̨slave»úÆ÷ÓÃÕâÑù·½·¨»¹ÐУ¬¶ą̀¾ÍÂé·³ÁË£¬¾Í˳ÊÖдÁ˸ö¼òµ¥µÄperl½Å±¾£¬·½±ãÍ³Ò»Ìø¹ý´íÎ󣬴úÂëÈçÏ£º
#!/usr/bin/env perl
use strict;
use warnings;
my @hosts = qw/
192.168.1.123:root:tt1234
192.168.1.124:root:tt1234
/;
foreach (@hosts) {
my ($ip, $usr, $pass) = split ':';
print "// ----- $ip\n";
slaveskip($ip, $usr, $pass);
print "\n";
}
# mysql slave skip
sub slaveskip {
my ($ip, $usr, $pass) = @_;
my $info = `mysql -u$usr -p$pass -h$ip -e 'show slave status\\G;'`;
# Slave_SQL_Running is No
if (($info =~ /Slave_IO_Running: Yes/) && ($info =~ /Slave_SQL_Running: No/)) {
my $errno = $1 if $info =~ /Last_Errno: (\d*)/;
my $error = $1 if $info =~ /Last_Error: (.*)/;
if ($errno > 0 && length($error) > 0) {
print "slave error**\n";
print "errno : $errno\nerror : $error\n";
system("mysql -u$usr -p$pass -h$ip -e 'slave stop;'");
system("mysql -u$usr -p$pass -h$ip -e 'set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;'");
system("mysql -u$usr -p$pass -h$ip -e 'slave start;'");
}
} else {
&n
Ïà¹ØÎĵµ£º
from_unixtime()ÊÇMySQLÀïµÄʱ¼äº¯Êý
dateΪÐèÒª´¦ÀíµÄ²ÎÊý(¸Ã²ÎÊýÊÇUnix ʱ¼ä´Á),¿ÉÒÔÊÇ×Ö¶ÎÃû,Ò²¿ÉÒÔÖ±½ÓÊÇUnix ʱ¼ä´Á×Ö·û´®
ºóÃæµÄ '%Y%m%d' Ö÷ÒªÊǽ«·µ»ØÖµ¸ñʽ»¯
ÀýÈç:
mysql>SELECT from_UNIXTIME( 1249488000, '%Y%m%d' )
->20071120
mysql>SELECT from_UNIXTIME( 1249488000, '%YÄê%mÔ ......
µÇ¼mysql slave·þÎñÆ÷£¬Ö´ÐÐshow slave statusÃüÁһ°ãÏÔʾÒÔϲÎÊýµÄ״̬£»
Slave_IO_State: Waiting for master to send event
Master_Host:192.168.0.1
Master_User:repl_user
Master_Port:3306
Connect_Retry:60
Master_Log_File:mysql-bin.000010
Read_Master_Log_Pos:2562541
Relay_Log_File:mysql-r ......
15.2.6.5. InnoDBºÍMySQL¸´ÖÆ
MySQL¸´ÖƾÍÏñ¶ÔMyISAM±íÒ»Ñù£¬Ò²¶ÔInnoDB±íÆð×÷Óá£ÒÔijÖÖ·½Ê½Ê¹Óø´ÖÆÒ²ÊÇ¿ÉÄܵģ¬ÔÚÕâÖÖ·½Ê½ÖдӷþÎñÆ÷ÉϱíµÄÀàÐͲ»Í¬ÓÚÖ÷·þÎñÆ÷ÉÏÔʼ±íµÄÀàÐÍ¡£ÀýÈ磬Äã¿ÉÒÔ¸´ÖÆÐ޸ĵ½Ö÷·þÎñÆ÷ÉÏÒ»¸öInnoDB±í£¬µ½´Ó·þÎñÆ÷ÉÏÒ»¸öMyISAM±íÀï¡£
ҪΪһ¸öÖ÷·þÎñÆ÷½¨Á¢Ò»¸öзþÎñÆ÷£¬Äã²»µÃ²»¸´ÖÆIn ......
ͬÊÂÀëÖ°£¬ÓÖÒ»¸öÒ»¸öÀÃ̯×ÓÒªÊÕʰ¡£ÕâÀïÐÞÐÞ£¬ÄÇÀï²¹²¹¶¼Ã»Óо«Á¦À´Ð´µã¶«Î÷¡£
Ã÷Ìì»Ø¼Ò£¬ÉÏÎçÕûÀíºÃÎĵµ¡£ÏÂÎç¾ö¶¨³éµãʱ¼ä£¬°Ñ×î½üµÄ¶«Î÷¾¡Á¿ÀíÒ»Àí¡£ºÜ¶àÁé¸Ð¶¼ÒѾÒÅÍü¡£ÎÒÃÇ×ÜÔÚ²»¶ÏÃæ¶Ô£¬ËùÒÔÎÒÃDz»¶ÏÒÅÍü¡£¡¾syslog¡¢mysqlÓÅ»¯¡¢´¥·¢Æ÷¡¢´æ´¢ ......
Äãд¹ýÒ»ÌõsqlÓï¾äÀ´ÐÞ¸ÄÁ½¸ö±íµÄÊý¾ÝÂð£¿
UPDATE test.table1 t1,test.table2 t2 SET t1.aa='a',t1.bb='b',t2.cc='c',WHERE t1.u_id=t2.u_id AND t1.u_id='1' £»
table1µÄu_idºÍtable2µÄu_idÊÇÖ÷Íâ¼ü¹ØÏµ ......