您的位置:首页 > 数据库 > MySQL

mysql复制出错----Slave_SQL_Running: No

2010-03-23 19:15 441 查看
mysql 备机跳过执行一条语句:set global sql_slave_skip_counter=11可以为N.用来跳过备机的一条或N条出错的复制语句。然后重新start slave即可。 查看Slave状态:


mysql> show slave statusG


Slave_IO_Running: Yes


Slave_SQL_Running: No


Last_Errno: 1062


....


Seconds_Behind_Master:NULL

原因:

1.程序可能在slave上进行了写操作

2.也可能是slave机器重起后,事务回滚造成的.

解决办法I:

1.首先停掉Slave服务:slave stop

到主服务器上查看主机状态:

记录File和Position对应的值。

3.到slave服务器上执行手动同步:


mysql> show master status;


+------------------+-----------+--------------+------------------+


| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |


+------------------+-----------+--------------+------------------+


| mysql-bin.000020 | 135617781 | | |


+------------------+-----------+--------------+------------------+


1 row in set (0.00 sec)

mysql> change master to
> master_host='master_ip',
> master_user='user',
> master_password='pwd',
> master_port=3307,
> master_log_file='mysql-bin.000020',
> master_log_pos=135617781;
1 row in set (0.00 sec)
mysql> slave start;
1 row in set (0.00 sec)

再次查看slave状态发现:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

...

Seconds_Behind_Master: 0

解决办法II:


mysql> slave stop;


mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;


mysql> slave start;



二、2010-01-04

1.问题:收到报警,从数据库在同步的过程出现问题,已停止同步。

分析:查看从数据库的错误日志,找到如下信息:

091229 11:49:41 [ERROR] Error reading packet from server: Got
packet bigger than 'max_allowed_packet' bytes ( server_errno=2020)

解决办法:1.增加/etc/my.cnf 中的max_allowed_packet,增加他的大小,我修改为10M,然后,重启服务器。

2.为了不影响业务,直接在数据库里面,修改max_allowed_packet的大小

mysql>set GLOBAL max_allowed_packet=10475520; (注意不能直接写成10M)

mysql>change master to
master_host='192.168.1.203',master_user='yang',
master_password='yang', master_port=3306,
master_log_file='mysql-bin.000018',master_log_pos=395332157;

(注:master_log,master_log_pos的值要设置成停止同步的那个位置,不然会造成,数据不一致)

mysql>slave start;

3.在同步过程中,又出现了一个错误:

[ERROR] Slave: Error 'Duplicate entry '18923' for key 1' on query.

解决方法:1.查找主数据库对应位置的操作记录

#/opt/mysql/bin/mysqlbinlog ../log/bin.000009 --start-position=100 --stop-position=110

(分析binlog 日志)

#在从数据库删除重复记录,然后,在change master,OK,问题解决了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: