MySQL系統變量auto_increment_increment與auto_increment_offset學習總結


MySQL中,系統變量auto_increment_incrementauto_increment_offset是與自增列相關的兩個參數變量。在官方文檔中,將其划分為Replication Master Options and Variables 。具體參考官方文檔17.1.6.2 Replication Master Options and Variables

 

    auto_increment_offset     AUTO_INCREMENT列值的起點,也就是初始值。取值范圍是1 .. 65535

   auto_increment_increment   控制列中的值的增量值,也就是步長。其默認值是1,取值范圍是1 .. 65535

 

系統變量auto_increment_incrementauto_increment_offset 都有會話級別和全局級別兩個值(注意:設置全局系統變量時,對當前連接或已存在的連接不生效,只對新的連接有效)。它們的取值范圍為1 ..65535, 如果設置的時候超過這個范圍的話,會是什么情況? 如下所示:

 

mysql> show variables like 'auto_increment%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| auto_increment_increment | 1     |
| auto_increment_offset    | 1     |
+--------------------------+-------+
4 rows in set (0.00 sec)
 
mysql> set session auto_increment_increment=0;
Query OK, 0 rows affected, 1 warning (0.01 sec)
 
mysql> show variables like 'auto_increment%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| auto_increment_increment | 1     |
| auto_increment_offset    | 1     |
+--------------------------+-------+
2 rows in set (0.00 sec)
 
mysql>  set session auto_increment_increment=65536;
Query OK, 0 rows affected, 1 warning (0.00 sec)
 
mysql>  show variables like 'auto_increment%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| auto_increment_increment | 65535 |
| auto_increment_offset    | 1     |
+--------------------------+-------+
2 rows in set (0.00 sec)
 
mysql> 
mysql> set session auto_increment_offset=-1;
Query OK, 0 rows affected, 1 warning (0.04 sec)
 
mysql> show variables like 'auto_increment%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| auto_increment_increment | 65535 |
| auto_increment_offset    | 1     |
+--------------------------+-------+
2 rows in set (0.00 sec)

 

clip_image001

 

如上所示,如果系統變量設置其值小於10或負數),MySQL會默認設置為1 ,如果大於65535MySQL會默認設置為65535. 也就是說這兩個系統變量的取值范圍為 1 ... 65535.

 

 

系統變量auto_increment_increment修改后,自增列的變化規律

 

 

如果我們想知道系統變量auto_increment_increment變化后,自增列的變化規律,最簡單、有效的方式就是實驗測試,如下所示:

 

mysql> drop table if exists test;
Query OK, 0 rows affected, 1 warning (0.00 sec)
 
mysql> create table test(id int auto_increment primary key, name varchar(32));
Query OK, 0 rows affected (0.03 sec)
 
mysql> insert into test(name) value('kerry1');
Query OK, 1 row affected (0.00 sec)
 
mysql> insert into test(name) value('kerry2');
Query OK, 1 row affected (0.01 sec)
 
mysql> select * from test;
+----+--------+
| id | name   |
+----+--------+
|  1 | kerry1 |
|  2 | kerry2 |
+----+--------+
2 rows in set (0.01 sec)
 
mysql> show  variables like 'auto_increment%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| auto_increment_increment | 1     |
| auto_increment_offset    | 1     |
+--------------------------+-------+
2 rows in set (0.00 sec)
 
mysql> set session auto_increment_increment=3;
Query OK, 0 rows affected (0.00 sec)
 
mysql> insert into test(name) value('kerry3');
Query OK, 1 row affected (0.01 sec)
 
mysql> select * from test;
+----+--------+
| id | name   |
+----+--------+
|  1 | kerry1 |
|  2 | kerry2 |
|  4 | kerry3 |
+----+--------+
3 rows in set (0.00 sec)
 
mysql> 

 

clip_image002

 

mysql>  set session auto_increment_increment=1;
Query OK, 0 rows affected (0.00 sec)
 
mysql> show  variables like 'auto_increment%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| auto_increment_increment | 1     |
| auto_increment_offset    | 1     |
+--------------------------+-------+
2 rows in set (0.00 sec)
 
mysql> truncate table test;
Query OK, 0 rows affected (0.05 sec)
 
mysql> insert into test(name) value('kerry1');
Query OK, 1 row affected (0.00 sec)
 
mysql> insert into test(name) value('kerry2');
Query OK, 1 row affected (0.00 sec)
 
mysql> insert into test(name) value('kerry3');
Query OK, 1 row affected (0.00 sec)
 
mysql> set session auto_increment_increment=3;
Query OK, 0 rows affected (0.00 sec)
 
mysql> show  variables like 'auto_increment%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| auto_increment_increment | 3     |
| auto_increment_offset    | 1     |
+--------------------------+-------+
2 rows in set (0.00 sec)
 
mysql> insert into test(name) value('kerry4');
Query OK, 1 row affected (0.03 sec)
 
mysql> select * from test;
+----+--------+
| id | name   |
+----+--------+
|  1 | kerry1 |
|  2 | kerry2 |
|  3 | kerry3 |
|  4 | kerry4 |
+----+--------+
4 rows in set (0.00 sec)
 
mysql> 

 

為什么修改auto_increment_increment=3后,新增的數據id=4呢? 其實這個是因為自增列的計算邏輯為 auto_increment_offset + N × auto_increment_increment  N表示第幾次,從1開始計算(auto_increment_offset=1),並且計算值必須大於自增列的最大值(Max(ID)),

 

對於第一種情況: id  12   因為最大值為2,而自增列的取值為1+1*3= 4, 所以自增列取值為4

對於第二種情況: id= 123. 因為最大值為3,而自增列的取值為1+1*3= 4, 所以自增列取值為4

 

官方文檔的描述如下所示:

 

If either of these variables is changed, and then new rows inserted into a table containing an AUTO_INCREMENT column, the results may seem counterintuitive because the series of AUTO_INCREMENT values is calculated without regard to any values already present in the column, and the next value inserted is the least value in the series that is greater than the maximum existing value in the AUTO_INCREMENT column. The series is calculated like this:

auto_increment_offset + N × auto_increment_increment

where N is a positive integer value in the series [1, 2, 3, ...].

 

注意:如果表沒有值,自增列第一個值為auto_increment_offset

 

 

如下所示對於這種情況,新增列的值為1+2*3=7 ,因為已有14這樣的取值。  

 

mysql> set session auto_increment_increment=1;
Query OK, 0 rows affected (0.00 sec)
 
mysql> show  variables like 'auto_increment%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| auto_increment_increment | 1     |
| auto_increment_offset    | 1     |
+--------------------------+-------+
2 rows in set (0.00 sec)
 
mysql> truncate table test;
Query OK, 0 rows affected (0.02 sec)
 
mysql> insert into test(name) value('kerry1');
Query OK, 1 row affected (0.01 sec)
 
mysql> insert into test(name) value('kerry2');
Query OK, 1 row affected (0.02 sec)
 
mysql> insert into test(name) value('kerry3');
Query OK, 1 row affected (0.00 sec)
 
mysql>  insert into test(name) value('kerry4');
Query OK, 1 row affected (0.00 sec)
 
mysql> select * from test;
+----+--------+
| id | name   |
+----+--------+
|  1 | kerry1 |
|  2 | kerry2 |
|  3 | kerry3 |
|  4 | kerry4 |
+----+--------+
4 rows in set (0.00 sec)
 
mysql> set session auto_increment_increment=3;
Query OK, 0 rows affected (0.00 sec)
 
mysql> insert into test(name) value('kerry5');
Query OK, 1 row affected (0.03 sec)
 
mysql> select * from test;
+----+--------+
| id | name   |
+----+--------+
|  1 | kerry1 |
|  2 | kerry2 |
|  3 | kerry3 |
|  4 | kerry4 |
|  7 | kerry5 |
+----+--------+
5 rows in set (0.00 sec)
 

 

 

auto_increment_offset修改后,自增列的變化規律

 

 

換個測試方法,如果修改系統變量auto_increment_offset的話,自增列會怎么變化呢?且看下面實驗

 

mysql> select * from test;
+----+--------+
| id | name   |
+----+--------+
|  1 | kerry1 |
|  2 | kerry2 |
|  3 | kerry3 |
|  4 | kerry4 |
|  7 | kerry5 |
+----+--------+
5 rows in set (0.00 sec)
 
mysql> show  variables like 'auto_increment%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| auto_increment_increment | 3     |
| auto_increment_offset    | 1     |
+--------------------------+-------+
2 rows in set (0.00 sec)
 
mysql> set auto_increment_offset=2;
Query OK, 0 rows affected (0.00 sec)
 
mysql> insert into test(name) value('kerry6');
Query OK, 1 row affected (0.01 sec)
 
mysql> select * from test;
+----+--------+
| id | name   |
+----+--------+
|  1 | kerry1 |
|  2 | kerry2 |
|  3 | kerry3 |
|  4 | kerry4 |
|  7 | kerry5 |
| 11 | kerry6 |
+----+--------+
6 rows in set (0.00 sec)

 

其實這個按下面這個公式來計算的:max(id)+(new_offset-old_offset)+increment ,也就是說變化auto_increment_offset后的第一個值為max(id)+(new_offset-old_offset)+increment之后再按步長遞增。

 

max(id)   =7

new_offset =2

old_offset =1

increment =3

 

clip_image003

 

 

另外,需要注意的是: 如果設置auto_increment_offset的值遠遠大於auto_increment_increment MySQL會忽略系統變量auto_increment_offset的值。

When the value of auto_increment_offset is greater than that of auto_increment_increment, the value of auto_increment_offset is ignored.(如果auto_increment_offset的值大於auto_increment_increment的值,則auto_increment_offset的值會被忽略)

 

 

clip_image004

 

 

 

  另外,關於系統變量auto_increment_increment,在一些MySQL版本中存在一個BugBug 15851528 : DUPLICATE KEY ERROR ON AUTO-INC PK WITH MIXED AUTO_INCREMENT_INCREMENT CLIENTS, 下面演示一下這個Bug。更多詳細信息,參考下面摘抄的官方資料:

 

1: 如下所示,首先准備好測速所需的相關表和存儲過程。

 

mysql> select version();
+------------+
| version()  |
+------------+
| 5.6.23-log |
+------------+
1 row in set (0.00 sec)
 
mysql> show variables like 'innodb_autoinc_lock_mode';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| innodb_autoinc_lock_mode | 1     |
+--------------------------+-------+
1 row in set (0.00 sec)
 
mysql> drop table if exists test_items;
Query OK, 0 rows affected (0.09 sec)
 
mysql> create table test_items (id int(11) auto_increment primary key);
Query OK, 0 rows affected (0.01 sec)
 
mysql> delimiter &&
mysql> drop procedure if exists prc_insert;
    ->  
    -> create procedure prc_insert(in  cnt int)
    -> begin
    -> declare i int;
    -> set i=1;
    -> while i < cnt do
    ->     insert into `test_items` values (DEFAULT);
    ->     
    ->     set i = i+1;
    ->  
    -> end while;
    -> end &&
Query OK, 0 rows affected (0.00 sec)
 
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;

 

 

2:在連接A中,設置系統變量:auto_increment_increment=1

 

 

mysql> select connection_id();
+-----------------+
| connection_id() |
+-----------------+
|              16 |
+-----------------+
1 row in set (0.00 sec)
 
mysql> set auto_increment_increment=1;
Query OK, 0 rows affected (0.00 sec)
 
mysql> show variables like 'auto_increment%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| auto_increment_increment | 1     |
| auto_increment_offset    | 1     |
+--------------------------+-------+
2 rows in set (0.01 sec)

 

 

3:在連接B中,設置系統變量:auto_increment_increment=2

 

mysql> select connection_id();
+-----------------+
| connection_id() |
+-----------------+
|              14 |
+-----------------+
1 row in set (0.00 sec)
 
mysql> set auto_increment_increment=2;
Query OK, 0 rows affected (0.00 sec)
 
mysql> show variables like 'auto_increment%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| auto_increment_increment | 2     |
| auto_increment_offset    | 1     |
+--------------------------+-------+
2 rows in set (0.00 sec)

 

 

4:在兩個連接中同時執行存儲過程call prc_insert(100000); 構造並發插入的場景,就能構造出這個Bug。 如下所示:

 

 

clip_image006

 

其實,其它場景也能構造出這樣的錯誤

 

clip_image005

 

 

注意:在官方文檔中:Error Duplicate Entry ' ' For Key 'PRIMARY' on Auto-Increment Primary Key when changing AUTO_INCREMENT_INCREMENT (文檔 ID 2498911.1),提示這個Bug在下面版本中已經fix

 

This BUG is fixed in 5.5.65, 5.6.45, 5.7.27, 8.0.17 releases.

For older versions than the above versions, workaround is to use the same AUTO_INCREMENT_INCREMENT for all sessions and do not try to set different values in the sessions running in parallel.

 

 

Bug 15851528 : DUPLICATE KEY ERROR ON AUTO-INC PK WITH MIXED AUTO_INCREMENT_INCREMENT CLIENTS

 

 

 

 

 

產品線

Oracle Database Products

系列

MySQL

區域

MySQL Server

產品

8478 - MySQL Server

 

 

 

 

Hdr: 15851528 N/A ENINNODB 5.5.28 PRODID-8478 PORTID-289 14049391

Abstract: DUPLICATE KEY ERROR ON AUTO-INC PK WITH MIXED AUTO_INCREMENT_INCREMENT CLIENTS

 

*** 11/08/12 12:19 pm ***

* Originally logged as bug 67526 in the MySQL bug system

  by: Rob Linewewaver on 08-Nov-2012 19:51:14

  - See http://bugs.mysql.com/bug.php?id=67526

  - Reporter email is: rlineweaver@rosettastone.com

  - Bug was reported against version(s): 5.5.28, 5.5.29, 5.7.0

 

Description:

On MySQL 5.5 with innodb_autoinc_lock_mode=1, with connected clients that

have different values for auto_increment_increment (some with 1 and some with

2) doing concurrent inserts onto an InnoDB table with an auto-increment

primary key, we see duplicate key errors like the following:

 

Duplicate entry '21211440' for key 'PRIMARY'

 

No value was specified for the auto-increment column in the insert queries. 

I expect to never see a duplicate key error for an auto-increment PK in this

case.

 

Scenarios tested:

  1. MySQL 5.1.66 + innodb_autoinc_lock_mode=1:  no problem

  2. MySQL 5.5.28 + innodb_autoinc_lock_mode=1: duplicate key error reliably

produced within a few seconds

     2a.  with both clients using auto_increment_increment = 1:  no problem

     2b.  with both clients using auto_increment_increment = 2:  no problem

  3. MySQL 5.5.28 + innodb_autoinc_lock_mode=0: no problem

 

How To Repeat:

 

1. Set up a MySQL 5.5.28 server with innodb_autoinc_lock_mode=1

2. Create a simple InnoDB table with an auto-increment PK:

     create table test_items (id int(11) auto_increment primary key);

3. Connect client 1 and set auto_increment_increment to 1:

     set auto_increment_increment=1;

4. Connect client 2 and set auto_increment_increment to 2:

     set auto_increment_increment=2;

5. Perform repeated inserts from both clients at the same time:

     insert into `test_items` values (DEFAULT);

6. Watch for "Duplicate entry ... for key 'PRIMARY'" errors

 

Suggested Fix:

(none)

 

 

* Original bug verified in the MySQL bug system by: Sveta Smirnova.

 

 

 

 

*** 11/08/12 12:19 pm ***

* Original entry logged in the MySQL bug system by: Sveta Smirnova

  on 08-Nov-2012 21:18:40

Thank you for the report.

 

Verified as described.

 

Test case for MTR:

 

--source include/have_innodb.inc

 

create table test_items (id int(11) auto_increment primary key)

engine=innodb;

 

set auto_increment_increment=1;

 

delimiter |;

create procedure bug67526(iterations int) begin while iterations > 0 do set

iterations = iterations -1; insert into `test_items` values (DEFAULT); end

while; end;|

delimiter ;|

 

connect(con1, localhost, root,,);

connection con1;

 

set auto_increment_increment=2;

 

connection default;

--send call bug67526(10000);

 

 

connection con1;

call bug67526(10000);

 

connection default;

--reap

 

select max(id) from test_items;

 

 

*** 11/08/12 12:20 pm *** (CHG: Sta->11)

*** 11/08/12 01:42 pm ***

* Original entry logged in the MySQL bug system by: Rob Lineweaver

  on 08-Nov-2012 22:01:22

fixing typo in tag

 

 

*** 11/21/12 12:41 pm ***

*** 03/01/13 02:27 pm ***

*** 03/01/13 02:27 pm ***

*** 05/13/13 12:10 am ***

*** 05/13/13 12:10 am ***

*** 11/19/13 04:42 am ***

* Original entry logged in the MySQL bug system by: Sam Butler

  on 19-Nov-2013 13:08:42

We're seeing the same bug reproduced on 5.5.33 (Linux) with two replicating

servers that have the same auto_increment_increment value, but a different

offset. A single client is connected and trying to insert into the table that

throws the duplicate PK error on an auto inc field.

 

*** 02/11/14 09:44 pm ***

*** 08/20/15 06:42 am ***

* Original entry logged in the MySQL bug system by: Rolf Martin-Hoster

  on 20-Aug-2015 14:49:51

As noticed by Sam this is occurring with same auto_increment_increment  and

is similar if not the same as http://bugs.mysql.com/bug.php?id=76872

 

*** 01/20/18 05:03 pm ***

*** 01/20/18 05:03 pm ***

*** 12/28/18 05:59 am ***

*** 12/28/18 06:03 am ***

*** 02/28/19 03:42 am ***

*** 02/28/19 09:11 am ***

*** 02/28/19 09:20 am ***

*** 02/28/19 09:20 am ***

*** 02/28/19 08:52 pm ***

*** 03/11/19 02:25 am ***

I was able to reproduce with

 

create table t(a serial,name varchar(200),primary key(a))engine=innodb;

 

set SESSION auto_increment_increment=2; 

insert into t(name) values("vijay"),( "rohan"),("deepak"),("parakh");

 

--connect(con1,localhost,root,,)

 

--connection con1

 

set auto_increment_increment=2 ;

insert into t(name) values("rahul");

 

--connection default

 

set auto_increment_increment=1;

insert into t(name) values("vijay"),( "rohan"),("deepak"),("parakh");

 

--connection con1

 

set auto_increment_increment=1;

insert into t(name) values("rahul");

 

will post my analysis further 

*** 04/08/19 02:42 am ***

* Original entry logged in the MySQL bug system by: Pavel Katiushyn

  on 08-Apr-2019 08:47:31

I had the same issue on 5.7.25.

 

*** 05/01/19 08:35 pm ***

*** 05/01/19 08:35 pm *** (CHG: Base Bug-> NULL -> 14049391 [OTHER])

*** 05/01/19 10:22 pm ***

Pushed into repo mysql branch mysql-5.5 5.5.65

(hash:87d8fb242134b8d1d97734b2ad6023d36d814067

committer:rahul.m.malik@oracle.com)

(merge vers:5.5.65)

Bug#15851528 DUPLICATE KEY ERROR ON AUTO-INC PK WITH MIXED

AUTO_INCREMENT_INCREMENT CLIENTS Problem: Clients running different values

for auto_increment_increment and doing concurrent inserts leads

*** 05/01/19 10:22 pm ***

*** 05/01/19 10:22 pm *** (CHG: Sta->80)

Pushed into repo mysql branch mysql-5.6 5.6.45

(hash:87d8fb242134b8d1d97734b2ad6023d36d814067

committer:rahul.m.malik@oracle.com)

(merge vers:5.6.45)

Bug#15851528 DUPLICATE KEY ERROR ON AUTO-INC PK WITH MIXED

AUTO_INCREMENT_INCREMENT CLIENTS Problem: Clients running different values

for auto_increment_increment and doing concurrent inserts leads

*** 05/01/19 10:22 pm ***

Pushed into repo mysql branch mysql-5.7 5.7.27

(hash:87d8fb242134b8d1d97734b2ad6023d36d814067

committer:rahul.m.malik@oracle.com)

(merge vers:5.7.27)

Bug#15851528 DUPLICATE KEY ERROR ON AUTO-INC PK WITH MIXED

AUTO_INCREMENT_INCREMENT CLIENTS Problem: Clients running different values

for auto_increment_increment and doing concurrent inserts leads

*** 05/01/19 10:22 pm ***

Pushed into repo mysql branch mysql-8.0 8.0.17

(hash:87d8fb242134b8d1d97734b2ad6023d36d814067

committer:rahul.m.malik@oracle.com)

(merge vers:8.0.17)

Bug#15851528 DUPLICATE KEY ERROR ON AUTO-INC PK WITH MIXED

AUTO_INCREMENT_INCREMENT CLIENTS Problem: Clients running different values

for auto_increment_increment and doing concurrent inserts leads

*** 05/01/19 10:22 pm ***

Pushed into repo mysql branch mysql-trunk 8.0.18-tr

(hash:87d8fb242134b8d1d97734b2ad6023d36d814067

committer:rahul.m.malik@oracle.com)

(merge vers:8.0.18-tr)

Bug#15851528 DUPLICATE KEY ERROR ON AUTO-INC PK WITH MIXED

AUTO_INCREMENT_INCREMENT CLIENTS Problem: Clients running different values

for auto_increment_increment and doing concurrent inserts leads

*** 05/01/19 10:22 pm ***

*** 05/03/19 02:12 am ***

Pushed into repo mysql branch mysql-5.7 5.7.27

(hash:847254dd0d79ef6b1bed429883ec47e72447ffd2

committer:rahul.m.malik@oracle.com)

(merge vers:5.7.27)

Bug#15851528 DUPLICATE KEY ERROR ON AUTO-INC PK WITH MIXED

AUTO_INCREMENT_INCREMENT CLIENTS

Pushed into repo mysql branch mysql-8.0 8.0.17

(hash:847254dd0d79ef6b1bed429883ec47e72447ffd2

committer:rahul.m.malik@oracle.com)

(merge vers:8.0.17)

Bug#15851528 DUPLICATE KEY ERROR ON AUTO-INC PK WITH MIXED

AUTO_INCREMENT_INCREMENT CLIENTS

Pushed into repo mysql branch mysql-trunk 8.0.18-tr

(hash:847254dd0d79ef6b1bed429883ec47e72447ffd2

committer:rahul.m.malik@oracle.com)

(merge vers:8.0.18-tr)

Bug#15851528 DUPLICATE KEY ERROR ON AUTO-INC PK WITH MIXED

AUTO_INCREMENT_INCREMENT CLIENTS

*** 05/07/19 02:13 pm ***

Bug#15851528 DUPLICATE KEY ERROR ON AUTO-INC PK WITH MIXED

AUTO_INCREMENT_INCREMENT CLIENTS

 

Problem:

Clients running different values for auto_increment_increment

and doing concurrent inserts leads to "Duplicate key error" in one of them.

   

Analysis:

When Autoinc_increment value is reduced in a session,

InnoDB uses last autoinc_increment value

to recalculate the autoinc value.

In case, some other session has inserted a value

with different autoinc_increment, InnoDB recalculate

autoinc values based on current session previous autoinc_increment

instead of considering the autoinc_increment used for last insert

across all session

   

Fix:

revert 1d4494d93c2f as it causing the current bug.

*** 05/07/19 02:37 pm ***

Fixed as of the upcoming 5.5.65, 5.6.45, 5.7.27, 8.0.17 releases, and here's

the changelog entry:

 

Client sessions using different auto_increment_increment values while

performing concurrent insert operations could cause a duplicate key error.

*** 05/07/19 02:37 pm *** (CHG: Sta->74)

*** 05/29/19 07:12 am ***

Pushed into repo mysql branch mysql-5.5-cluster-7.2 5.5.65-ndb-7.2.38

(hash:87d8fb242134b8d1d97734b2ad6023d36d814067

committer:rahul.m.malik@oracle.com)

(merge vers:7.2.38)

Bug#15851528 DUPLICATE KEY ERROR ON AUTO-INC PK WITH MIXED

AUTO_INCREMENT_INCREMENT CLIENTS Problem: Clients running different values

for auto_increment_increment and doing concurrent inserts leads

*** 05/29/19 07:12 am ***

*** 05/29/19 07:12 am *** (CHG: Sta->80)

*** 05/29/19 10:24 am ***

*** 05/29/19 10:24 am *** (CHG: Sta->74)

 

 

參考資料

 

 

https://dev.mysql.com/doc/refman/8.0/en/replication-options-master.html

Bug 15851528 : DUPLICATE KEY ERROR ON AUTO-INC PK WITH MIXED AUTO_INCREMENT_INCREMENT CLIENTS


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM