MySQL bug:server-id默认被自动置为1

昨天同事在做主从时,从库报如下错误:

Got fatal error 1236 from master when reading data from binary log: ‘Misconfigured master - server id was not set‘

粗粗看好像是master的server-id没有设置,但同事做如下查询:

备库采集:
[email protected] Fri May 23 14:18:59 2014 14:18:59 [(none)]> show variables like ‘%server_id%‘;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 2     |
+---------------+-------+

主库采集:

mysql> show variables like ‘%server%‘;
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| character_set_server | latin1            |
| collation_server     | latin1_swedish_ci |
| server_id            | 1                 |
+----------------------+-------------------+

此时,复制环境的server-id确实是全局唯一的。为何报错?

由于业务是用于存储hadoop的元数据,之前MySQL版本较低,同事用了比master版本高的slave,本以为是这个原因,但在MySQL 的bug列表上发现:

该发现否定了我们之前的判断,经过同事那边的测试,也确实是这个bug :-)

祝周末愉快,

Good Luck!

MySQL bug:server-id默认被自动置为1

时间: 2024-10-09 05:35:00

MySQL bug:server-id默认被自动置为1的相关文章

MySQL(Percona Server) 5.6 主从复制

MySQL(Percona Server) 5.6.15 主库:192.168.2.21 从库:192.168.2.22 例如我们同步的数据库为:test. 如果需要同步多个数据库下面会有说明. MySQL 主从复制原理 1. master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events,可以通过show binlog events进行查看): 2. slave将master的binary log events拷贝到它的中继日志(r

使用sql语句创建修改SQL Server标识列(即自动增长列)

一.标识列的定义以及特点SQL Server中的标识列又称标识符列,习惯上又叫自增列.该种列具有以下三种特点:1.列的数据类型为不带小数的数值类型2.在进行插入(Insert)操作时,该列的值是由系统按一定规律生成,不允许空值3.列值不重复,具有标识表中每一行的作用,每个表只能有一个标识列.由于以上特点,使得标识列在数据库的设计中得到广泛的使用.二.标识列的组成创建一个标识列,通常要指定三个内容:1.类型(type)在SQL Server 2000中,标识列类型必须是数值类型,如下:decima

Mysql select语句设置默认值

1.在没有设置默认值的情况下: SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_time FROM userinfo LEFT JOIN region ON userinfo.adm_regionid = region.id 结果: 设置显示默认值: SELECT userinfo.id, user_name, role, adm_regionid, IFNULL(region_name,0) as

2015-08-26 php大力力020.mysql数据库唯一id字段如何设置

不懂 以下有些文章 mysql唯一id 自动生成 uuid mysql 里面可以用uuid()语句来生成一个UUID:select uuid();或 select replace(uuid(), '-', '');直接在insert语句中插入UUID作主键的用法(简便):insert into Price( Name, UUID, Price, BID) values('FEIFEI_TEST', uuid(), 32, 3); mysql把主键定义为自动增长标识符类型http://www.jb

源码安装 MySQL Community Server 5.6.26

由于CentOS 6 现在yum源的mysql-server 版本还是5.1 的,已经比较老了 况且后续服务可能需要mysql的头文件, yum安装的没有找不到头文件,索性就编译安装. MySQL官网是: http://dev.mysql.com/downloads/mysql/ 1,直接下载源码: 说明:MySQL 5.5的编译工具由Autotool转变为了cmake(有关于更多关于cmake的信息,请大家自行google了解).MySQL团队也撰写了一篇Autotools to CMake

MySQL自增ID 起始值 修改方法

在mysql中很多朋友都认为字段为AUTO_INCREMENT类型自增ID值是无法修改,其实这样理解是错误的,下面介绍mysql自增ID的起始值修改与设置方法. 通常的设置自增字段的方法: 创建表格时添加: create table table1(id int auto_increment primary key,...) 创建表格后添加: alter table table1 add id int auto_increment primary key 自增字段 一定要设置为primary ke

mysql把主键定义为自动增长标识符类型

分享下mysql中如何把主键定义为自动增长标识符类型. 1.把主键定义为自动增长标识符类型在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如: create table customers(id int auto_increment primary key notnull, name varchar(15)); insert into customers(name) values("name1"),("name2");

PHP获取MySql新增记录ID值的3种方法

From: http://www.jb51.net/article/51473.htm 这篇文章主要介绍了PHP获取MySql新增记录ID值的3种方法,一般使用PHP自带函数mysql_insert_id() 即可实现,另2种方法权作特殊情况下使用,需要的朋友可以参考下 一.使用语句: 复制代码 代码如下: mysql_query("select max(id) from t1",$link); 使用此方法得到的是 id最大的值,确为最后一个值,但当多链接线程时,这个最大的id并不一定

MySQL Community Server 8.0.11下载与安装配置

一.下载 1.选择合适的安装包,我在这里下载的是目前最新的安装包,8.0.11,而且我选择下载的是解压版的,安装版的话,安装会比较麻烦. MySQL Community Server下载链接:https://dev.mysql.com/downloads/mysql/ 点击进入下载页面,滚动到归最下面,选择压缩版的进行下载. 2.直接下载完成. 二.安装与配置 1.直接对下载的文件进行解压到指定的目录下. 2.选择"此电脑",单击右键,选择"属性",如下图所示 3.