mysql 日志同步 数据不同步_Mysql互为主从问题--日志同步数据不同步

Mysql互为主从问题--日志同步数据不同步

我搭建的是mysql互为主从 复制

两台机器的mysql环境完全相同

第一部分测试:

B为master A为slave的同步测试

在B上创建表lian,并插入数据

mysql> create table lian (a int,b char(10));

mysql> insert into lian (a,b)values(22,'hahah');

mysql> show tables;

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

| Tables_in_test |

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

| lian |

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

mysql> select * from lian;

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

| a | b |

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

| 22 | hahah |

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

查看一下master-B的binlog日志,查看以上操作是否记录了日志:

cat mysql-bin.000002

.?Nh?@stdtestcreate table lian (a int,b char(10))??Nl>@stdtestinsert into lian (a,b)values(22,'hahah')

现在查看slave-A的relay日志,发现日志已经同步了

[root@XKWB5510 var]# cat XKWB5510-relay-bin.000003

.?Nh?@stdtestcreate table lian (a int,b char(10))??Nl>@stdtestinsert into lian (a,b)values(22,'hahah')

再在slave-A上看一下数据库是不是存在lian这个表:

mysql> use test;

Database changed

mysql> show tables;

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

| Tables_in_test |

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

| aniya |

|lian |

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

2 rows in set (0.00 sec)

现在说明数据B A 主 从 同步成功

---------------------------------------------------------------------------

第二部分测试:

A为master B为slave的同步测试

在A上创建表From246,并插入数据

mysql> use test;

mysql> show tables;

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

| Tables_in_test |

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

| A246 |

| aniya |

| lian |

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

3 rows in set (0.00 sec)

mysql> create table From246(Name varchar(255),Sex varchar(255),Age int(10));

mysql> show tables;

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

| Tables_in_test |

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

| A246 |

| From246 |

| aniya |

| lian |

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

4 rows in set (0.00 sec)

mysql> insert into From246 (Name,Sex,Age)values('Zhaoyj','Girl',24);

mysql> select * from From246;

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

| Name | Sex | Age |

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

| Zhaoyj | Girl | 24 |

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

1 row in set (0.00 sec)

查看master-A的binlog日志,证明上述操作成功

[root@XKWB5510 var]# tail -1 mysql-bin.000002

testcreate table From246(Name varchar(255),Sex varchar(255),Age int(10))?N?R@stdtestinsert into From246 (Name,Sex,Age)values('Zhaoyj','Girl',24)

查看master-A的日志状态

[root@XKWB5510 var]# /usr/local/mysql/bin/mysqlbinlog mysql-bin.000003 |tail -15

/*!*/;

# at 702

#110926 14:01:51 server id 1 end_log_pos 838 Querythread_id=5exec_time=0error_code=0

SET TIMESTAMP=1317016911/*!*/;

create table From246(Name varchar(255),Sex varchar(255),Age int(10))

/*!*/;

# at 838

#110926 14:02:05 server id 1 end_log_pos 966 Querythread_id=5exec_time=0error_code=0

SET TIMESTAMP=1317016925/*!*/;

insert into From246 (Name,Sex,Age)values('Zhaoyj','Girl',24)

/*!*/;

DELIMITER ;

# End of log file

ROLLBACK /* added by mysqlbinlog */;

/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

查看relay-B的日志,同步日志成功

testcreate table From246(Name varchar(255),Sex varchar(255),Age int(10))?N?R@stdtestinsert into From246 (Name,Sex,Age)values('Zhaoyj','Girl',24)[root@XKWB5705 var]

查看relay-B日志状态,可以看到日志已经同步

[root@XKWB5705 var]# /usr/local/mysql/bin/mysqlbinlog XKWB5705-relay-bin.000005|tail -13

/usr/local/mysql/bin/mysqlbinlog: Character set '#28' is not a compiled character set and is not specified in the '/usr/local/mysql/share/mysql/charsets/Index.xml' file

#110926 14:01:51 server id 1 end_log_pos 838 Querythread_id=5exec_time=0error_code=0

SET TIMESTAMP=1317016911/*!*/;

create table From246(Name varchar(255),Sex varchar(255),Age int(10))

/*!*/;

# at 853

#110926 14:02:05 server id 1 end_log_pos 966 Querythread_id=5exec_time=0error_code=0

SET TIMESTAMP=1317016925/*!*/;

insert into From246 (Name,Sex,Age)values('Zhaoyj','Girl',24)

/*!*/;

DELIMITER ;

# End of log file

ROLLBACK /* added by mysqlbinlog */;

/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

但是数据却没有插入到relay-B的数据库

mysql> show tables;

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

| Tables_in_test |

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

| lian |

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

1 row in set (0.00 sec)

当我删除master-A上的表时,relay-B日志也同步了

[root@XKWB5705 var]# tail -4 XKWB5705-relay-bin.000005

??NS?@stdtestdrop table A246??NT@stdtestdrop table aniya??NSd@stdtestdrop table lian??NV?@stdtestdrop table From246

这是什么奇怪问题 ??

------------------------------------------------------------------------------

问题排查:

首先在Master-A上用

show processlist; 查看下进程是否Sleep太多。发现很正常

show master status; 也正常

再跑到Slave上查看 show slave status; 也正常

当我手动从A导入B数据时,发现一个问题:

mysql> load table From246 from master;

ERROR 1115 (42000): Unknown character set: 'gbk'

怀疑:难道是因为字符串的问题导致AB主从复制失败 ?

通过show character set 命令查看到

master-A有gbk字符集而slave-B没有

mysql> show character set;

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

| Charset | Description | Default collation | Maxlen |

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

| dec8 | DEC West European | dec8_swedish_ci | 1 |

| cp850 | DOS West European | cp850_general_ci | 1 |

| hp8 | HP West European | hp8_english_ci | 1 |

| koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 |

| latin1 | cp1252 West European | latin1_swedish_ci | 1 |

| latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 |

| swe7 | 7bit Swedish | swe7_swedish_ci | 1 |

| ascii | US ASCII | ascii_general_ci | 1 |

| hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 |

| koi8u | KOI8-U Ukrainian | koi8u_general_ci | 1 |

| greek | ISO 8859-7 Greek | greek_general_ci | 1 |

| cp1250 | Windows Central European | cp1250_general_ci | 1 |

| gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 |

| latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 |

| armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 |

| utf8 | UTF-8 Unicode | utf8_general_ci | 3 |

| cp866 | DOS Russian | cp866_general_ci | 1 |

| keybcs2 | DOS Kamenicky Czech-Slovak | keybcs2_general_ci | 1 |

| macce | Mac Central European | macce_general_ci | 1 |

| macroman | Mac West European | macroman_general_ci | 1 |

| cp852 | DOS Central European | cp852_general_ci | 1 |

| latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 |

| cp1251 | Windows Cyrillic | cp1251_general_ci | 1 |

| cp1256 | Windows Arabic | cp1256_general_ci | 1 |

| cp1257 | Windows Baltic | cp1257_general_ci | 1 |

| binary | Binary pseudo charset | binary | 1 |

| geostd8 | GEOSTD8 Georgian | geostd8_general_ci | 1 |

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

27 rows in set (0.00 sec)

那现在应该是在启动mysql的时候统一他们的字符集

master-A: [root@XKWB5510 var]# /usr/local/mysql/bin/mysqld_safe --default-character-set=latin1 &

slave-B : [root@XKWB5705 var]# /usr/local/mysql/bin/mysqld_safe --default-character-set=latin1 &

再次在B上从A导入数据:

mysql> show tables;

Empty set (0.00 sec)

mysql> load table From246 from master;

Query OK, 0 rows affected (0.01 sec)

mysql> show tables;

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

| Tables_in_test |

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

| From246 |

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

1 row in set (0.00 sec)

现在字符集的问题解决了

---------------------------------------------------------------

现在手动启动一下“将日志应用于数据库”的线程:SLAVE start SQL_THREAD

和“把master段的日志写到本地”的线程:SLAVE start IO_THREAD

发现同步数据还是失败,那说明不是线程的问题

如果发现 Seconds_Behind_Master 为 (null)

解决:

stop slave;

set global sql_slave_skip_counter =1 ;

start slave;

之后Slave会和Master去同步 主要看Seconds_Behind_Master是否为0,直到为0时就已经同步了。。

-----------------------------------

slave B机器上master.info信息,与master A上的信息是否是同步的

mater A:

mysql> show master status\G;

*************************** 1. row ***************************

File: mysql-bin.000004

Position: 808

Binlog_Do_DB: test

Binlog_Ignore_DB: mysql

1 row in set (0.00 sec)

slave B:

[root@XKWB5705 var]# cat master.info

15

mysql-bin.000004

808

211.100.97.246

repl2

123456

3306

60

0

从以上可以看到是同步的

到目前为止我都没发现到底是什么问题导致“日志同步数据不同步” 很是纳闷

向高手们请教!!!!

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2011-09-26 17:40

浏览 316

评论

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574403.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UVALive 4764 dp

DES: 这是一个新的游戏。给你一套牌、编号从1到100000.正常来说。你手中的牌和这次翻的牌是一样的,就会加一分。但是。如果是999的话。加三分。所以问你最大的分是多少。 貌似是简单的DP吧。(DP菜鸟...再简单我也不会...T_T...)于是...我看懂…

mysql数据库事务命令_MySql学习18----数据库事务---命令使用(02)

本篇讲述数据库中非常重要的事务概念和如何使用MySQL命令行窗口来进行数据库的事务操作。下一篇会讲述如何使用JDBC进行数据库的事务操作。事务是指数据库中的一组逻辑操作,这个操作的特点就是在该组逻辑中,所有的操作要么全部成功,要么全部失…

sequelize连接mysql_Sequelize没有连接mysql

文件config / config.json{"development": {"username": "root","password": null,"database": "example","host": "example.sqlite","dialect": "sqlite"},"stage…

SQL SERVER 2014 各个版本支持的功能

转自:https://technet.microsoft.com/library/cc645993 转换箱规模限制 功能名称EnterpriseBusiness IntelligenceStandardWebExpress with Advanced ServicesExpress with ToolsExpress单个实例使用的最大计算能力(SQL Server 数据库引擎)1操…

Android无法生成R文件的终极解决办法

R文件如果在clean项目(Project—>Clean)和 Fix Project Properties(如下图): 如果在第一步无法解决的的时候,那可能原因就是资源文件调用的错误,比如资源文件命名不规范,多余的资…

java awt 教程_JAVA教程 第五讲 AWT图形用户界面设计

5.1 用AWT生成图形化用户界面抽象窗口工具包AWT (Abstract Window Toolkit) 是 API为Java 程序提供的建立图形用户界面GUI (Graphics User Interface)工具集,AWT可用于Java的applet和applications中。它支持图形用户界面编程的功能包括: 用户界面组件&am…

从C# String类理解Unicode(UTF8/UTF16)

上一篇博客:从字节理解Unicode(UTF8/UTF16)。这次我将从C# code 中再一次阐述上篇博客的内容。 C# 代码看UTF8 代码如下: string test "UTF-8你"; //把字符转换为 byte[] byte[] bytearray_UTF8 Encoding.UTF8.GetBytes(test)…

python浅拷贝深拷贝

copy_listlist[:] 得到的是浅拷贝,即只能顶层拷贝,里面的嵌套不会复制一份。 a [0, [1, 2], 3] b a[:] a[0] 8 a[1][1] 9 请问现在a和b分别是多少? 答案:是 a 为 [8, [1, 9], 3],b 为 [0, [1, 9], 3]。 b的第二个…

中兴的一道笔试题

今天做了中兴的秋招题目,有一个题以前没有仔细想过,题目我有点儿记不清楚了,大概意思是这样的:有一个循环的单链表,给定该链表的尾指针比给定头指针好么? 我的思路:如下图,这是一个循…

Android SurfaceView实现静态于动态画图效果

本文是基于Android的SurfaceView的动态画图效果,实现静态和动态下的正弦波画图,可作为自己做图的简单参考,废话不多说,先上图, 静态效果: 动态效果: 比较简单,代码注释的也比较详细&…

数学概念——J - 数论,质因数分解

J - 数论,质因数分解Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit StatusDescription Tomorrow is contest day, Are you all ready? We have been training for 45 days, and all guys must be tired.But , you are…

java黄金分割点游戏_结对编程1——黄金点小游戏项目简介及需求分析

一、项目成员2018141461085龚泽楠2018141461012蔡铧荣二、项目名称黄金点小游戏三、项目简介游戏规则: N个同学( N通常大于 10 ),每人写一个 0~100 之间的有理数 (不包括 0或100) ,交给裁判算出所有数字的平均值然后乘以 0.618 (所谓黄金分割…

HDU 2242 考研路茫茫——空调教室

考研路茫茫——空调教室 Time Limit: 2000msMemory Limit: 32768KBThis problem will be judged on HDU. Original ID: 224264-bit integer IO format: %I64d Java class name: Main众所周知,HDU的考研教室是没有空调的,于是就苦了不少不去图书馆的…

java 正则表达式 组合_java基础:5.1 面向对象、类的关联 聚合 组合、正则表达式...

上一个礼拜太忙了,今天开始恢复java的学习~目录1、面向过程——面向对象的区别传统的面向过程式编程是动作驱动的,数据和动作是分离的。面向对象编程的范式重点在于对象,动作和数据一起定义在对象中。面向过程的范式重点在于设计方法。面向对…

html5学习之路_003

html布局 使用<div>元素布局使用<table>元素布局<div>元素布局 <!DOCTYPE html> <html> <head lang"en"><meta charset"UTF-8"><title>div布局</title><link rel"stylesheet" type&qu…

变量不合法的表达式JAVA_Java8中lambda表达式的语法,别人都会的,你还不会吗?「一」...

函数式编程函数式编程是一种编程方式&#xff0c;它将电脑运算视为函数的计算。函数编程语言最重要的基础是λ演算(lambda calculus)&#xff0c;λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。 函数式编程是"结构化编程"的一种&#xff0c;主要思想是把运…

动手制作属于你自己的WIN PE3.0

最近想要更新公司的网Ghost系统&#xff0c;所以小研究一下win pe &#xff0c;在网上看见一个很不错的教程&#xff0c;在这里分享给大家&#xff01;并非原创&#xff0c;纯属转载&#xff01;&#xff01;O(∩_∩)O~天缘的作品&#xff0c;很是佩服这个哥们啊.....一、WINPE…

python图像处理模糊_Python+OpenCV图像处理之模糊操作

模糊操作是图像处理中最简单和常用的操作之一&#xff0c;该使用的操作之一原因就为了给图像预处理时减低噪声&#xff0c;基于数学的卷积操作均值模糊&#xff0c;函数 cv2.blur(image,(5,5))&#xff0c;这是一个平滑图片的函数&#xff0c;它将一个区域内所有点的灰度值的平…

高斯消元学习

1. 证明XOR满足交换律&#xff0c;结合律&#xff0c;是自身的逆运算。比如说&#xff0c;1^0 1 1^1 0 0^1 1 0^0 01^1^0 0 1^0^1 0.a^b^ab 即一个数异或两次相当于无效 2. 从N个数中选出两个数&#xff0c;使XOR和最大。解法&#xff1a;我们知道两个数字之间的异或…

java经纬度格式_java经纬度格式转换

在数学中&#xff0c;表示角度的度、分、秒分别使用、′、″符号进行表示。160′&#xff0c;1′60″ &#xff0c;13600″。由上述可知度分秒转换度的计算公式为&#xff1a;(ddmm′ss″) ddmm/60ss/3600如&#xff1a;11330′10.25″ 11330/6010.25/3600 ≈113.502847度分秒…