ÅúÁ¿Ìø¹ý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
Ïà¹ØÎĵµ£º
×÷ÕߣºÀÏÍõ Èý¹úÑÝÒ忪ƪһÓïµÀÆÆ£ººÏ¾Ã±Ø·Ö£¡MySQLµÄʹÓÃÒàÊÇÈç´Ë£¬Ãæ¶ÔÓ¦ÓÃÖÐÔ½À´Ô½ÅÓ´óµÄÊý¾ÝÁ¿£¬×îʱ÷ֵĽâ¾ö·½°¸ÊÇShard£¬²»¹ýËüµÄ¸´ÔÓÐÔ²¢²»ÊÇÿ¸ö³ÌÐòÔ±¶¼ÄܼÝÔ¦µÄ£¬Èç¹û°Ñ¼Ü¹¹µÄÑݱä±È×÷ÉúÃüµÄ½ø»¯£¬ÄÇôShard¿ÉÒÔ¿´×öÊDz¸È鶯ÎºÜ¶à¼Ü¹¹×îºóÖ®ËùÒÔʧ°Ü£¬¾ÍÊÇÒòΪËüÃDz½×ÓÂõµÃÌ«´ó£¬Ïë´ÓÔʼÉúÃüÖ±½Ó½ø»¯³É²¸Èé¶ ......
Õâ¶Îʱ¼äÔÚ¿´¡¶High Performance MySQL¡·£¬¿´µ½´æ´¢ÒýÇæÕâ¸öµØ·½¸Ðµ½ºÜ¶àϸ½Ú±È½ÏİÉú£¬ËùÒÔ×ܽáС¼ÇһЩ
ΪÁËÊÊÓ¦¸÷ÖÖ²»Í¬µÄÔËÐл·¾³£¬MYSQLÌṩÁ˶àÖÖ²»Í¬µÄ´æ´¢ÒýÇæ£¨Storage Engine
£©,ÔÚÓ¦ÓóÌÐò¿ª·¢Õâ¸ö²ãÃæÉÏ£¬¿ª·¢Õß¿ÉÒÔ¸ù¾Ý²»Í¬µÄÐèÇóÑ¡ÔñÊʺϵÄStorage Engine
·½°¸£¬¸üΪÁé»îµÄÊÇ£¬Äã¿ÉÒÔ¸ù¾ÝÿÕÅ±í½«Òª´æ´¢Êý ......
* ÕªÒª£ºCentOS LAMP×÷Ϊ·þÎñÆ÷£¬²»°²×°²»ÐèÒªµÄ×é¼þ£¬ËùÒÔÔÚÑ¡Ôñ×é¼þµÄʱºò£¬²»ÒªÑ¡web·þÎñÆ÷£¬ÒòΪÎÒÃǺóÃæÒªÊÖ¶¯±àÒë°²×°¡£CentOS LAMPϵͳԼ¶¨RPM°üºÍÔ´Âë°ü´æ·ÅλÖÃ
* ±êÇ©£ºCentOS LAMP
*
Oracle°ïÄú׼ȷ¶´²ì¸÷¸öÎïÁ÷ ......
ÎÊÌâÃèÊö£º
´Óphp½çÃæinsertÊý¾Ýµ½mysql£¬Ö»ÄÜÊäÈëżÊý¸öºº×Ö²»ÄÜÊäÈëÆæÊý¸öºº×Ö£¬ÊäÈëÆæÊý¸öºº×ֺ󱨓Data too long for column ”´íÎ󣬲¢Ã»Óиü¸ÄÊý¾Ý¿âÊý¾Ý¡£µ½Êý¾Ý¿â²é¿´£¬·¢ÏÖºº×Ö¶¼ÊÇÂÒÂë¡£µ«ÊÇphp½çÃæÏÔʾºº×ÖÕý³££¨µ±È»ÏÔʾµÄ¶¼ÊÇżÊý¸öºº×Ö£¬ÆæÊý¸öºº×Ö¶¼Ã»ÓÐдÈëÊý¾Ý¿â£©¡£
½â¾ö˼·£º
1.¸ü¸Ämy.i ......
Ó¦ÓóÌÐòºÍÊý¾Ý¿â½¨Á¢Á¬½Ó£¬Èç¹û³¬¹ý8СʱӦÓóÌÐò²»È¥·ÃÎÊÊý¾Ý¿â£¬Êý¾Ý¿â¾Í¶ÏµôÁ¬½Ó ¡£ÕâʱÔٴηÃÎʾͻáÅ׳öÒì³££¬ÈçÏÂËùʾ£º
java.io.EOFException
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1913)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.jav ......