当前位置:首页 > Mysql教程 > 列表

mysql数据库主从同步的问题解决方法

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-24 20:33:14 浏览: 评论:0 

下面是介绍在使用mysql数据库主从同步时碰到的一些问题解决方法,如果你碰到此问题可以进入参考,希望文章对各位有所帮助.

查看从库的状态:mysql>show slave statusG;

其中Slave_IO_Running:Yes 表明同步IO是否在运行;Slave_SQL_Running:Yes 表明同步SQL是否在运行;Last_Error表明上次出错的内容。

今天碰到一条出错的SQL,内容如下:

Last_Error: Error ‘Duplicate entry ’14772680-15′ for key ‘PRIMARY” on query. Default database: ‘xxxxxxxx’. Query: ‘UPDATE pre_forum_post SET position=position+’14′ WHERE `tid` IN(’14772680′,’14773058′)’

这条语句导致了从库出错,slave的SQL停止.

执行mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;跳过冲突的记录.

然后再重启slave

mysql>stop slave

mysql>start slave

如果碰到Slave_IO_Running:No的话,说明是主从的IO没有运行起来,今天发现另外一台很久没使用的DB也是这个情况,就把他重启了.

错误提示为:[ERROR] Got fatal error 1236: ‘Could not find first log file name in binary log index file’from master when reading data from binary log

在主库上查看主库的状态:mysql>show master status;

列出一条记录,很简单的信息,代码如下:

  1. +——————+———–+————–+——————+ 
  2. | File             | Position  | Binlog_Do_DB | Binlog_Ignore_DB | 
  3. +——————+———–+————–+——————+ 
  4. | mysql-bin.002323 | 121077462 |              |                  | 
  5. +——————+———–+————–+——————+ 

然后在从库上执行:

mysql>stop slave;

mysql>change master to master_log_file=’mysql-bin.002323′,master_log_pos=121077462;

mysql>start slave; //phpfensi.com

再次查看从库的状态:mysql>show slave statusG;发现正常.

另外今天碰到了一个诡异的现象,就是mysql停掉后启动不起来了,报错:

Starting MySQL. ERROR! Manager of pid-file quit without updating file.

#/usr/bin/mysql_safe

之后就正常了,停掉safe模式再启动即可.

#service mysql start

Tags: mysql主从同步 mysql同步问题

分享到: