254 lines
5.1 KiB
Plaintext
254 lines
5.1 KiB
Plaintext
include/master-slave.inc
|
|
Warnings:
|
|
Note #### Sending passwords in plain text without SSL/TLS is extremely insecure.
|
|
Note #### Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
|
|
[connection master]
|
|
create table t1 (a int not null auto_increment,b int, primary key (a)) engine=myisam auto_increment=3;
|
|
insert into t1 values (NULL,1),(NULL,2),(NULL,3);
|
|
select * from t1;
|
|
a b
|
|
3 1
|
|
4 2
|
|
5 3
|
|
include/sync_slave_sql_with_master.inc
|
|
select * from t1;
|
|
a b
|
|
3 1
|
|
4 2
|
|
5 3
|
|
drop table t1;
|
|
create table t1 (a int not null auto_increment,b int, primary key (a)) engine=myisam;
|
|
insert into t1 values (1,1),(NULL,2),(3,3),(NULL,4);
|
|
delete from t1 where b=4;
|
|
insert into t1 values (NULL,5),(NULL,6);
|
|
select * from t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
3 3
|
|
5 5
|
|
6 6
|
|
include/sync_slave_sql_with_master.inc
|
|
select * from t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
3 3
|
|
5 5
|
|
6 6
|
|
drop table t1;
|
|
set @@session.auto_increment_increment=100, @@session.auto_increment_offset=10;
|
|
show variables like "%auto_inc%";
|
|
Variable_name Value
|
|
auto_increment_increment 100
|
|
auto_increment_offset 10
|
|
create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
|
|
insert into t1 values (NULL),(5),(NULL);
|
|
insert into t1 values (250),(NULL);
|
|
select * from t1;
|
|
a
|
|
5
|
|
10
|
|
110
|
|
250
|
|
310
|
|
insert into t1 values (1000);
|
|
set @@insert_id=400;
|
|
insert into t1 values(NULL),(NULL);
|
|
select * from t1;
|
|
a
|
|
5
|
|
10
|
|
110
|
|
250
|
|
310
|
|
400
|
|
410
|
|
1000
|
|
include/sync_slave_sql_with_master.inc
|
|
select * from t1;
|
|
a
|
|
5
|
|
10
|
|
110
|
|
250
|
|
310
|
|
400
|
|
410
|
|
1000
|
|
drop table t1;
|
|
set @@session.auto_increment_increment=1, @@session.auto_increment_offset=1;
|
|
create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
|
|
insert into t1 values (NULL),(5),(NULL),(NULL);
|
|
insert into t1 values (500),(NULL),(502),(NULL),(NULL);
|
|
select * from t1;
|
|
a
|
|
1
|
|
5
|
|
6
|
|
7
|
|
500
|
|
501
|
|
502
|
|
503
|
|
504
|
|
set @@insert_id=600;
|
|
insert into t1 values(600),(NULL),(NULL);
|
|
ERROR 23000: Duplicate entry '600' for key 'PRIMARY'
|
|
set @@insert_id=600;
|
|
insert ignore into t1 values(600),(NULL),(NULL),(610),(NULL);
|
|
Warnings:
|
|
Warning 1062 Duplicate entry '600' for key 'PRIMARY'
|
|
Warning 1062 Duplicate entry '600' for key 'PRIMARY'
|
|
Warning 1062 Duplicate entry '600' for key 'PRIMARY'
|
|
select * from t1;
|
|
a
|
|
1
|
|
5
|
|
6
|
|
7
|
|
500
|
|
501
|
|
502
|
|
503
|
|
504
|
|
600
|
|
610
|
|
611
|
|
include/sync_slave_sql_with_master.inc
|
|
select * from t1;
|
|
a
|
|
1
|
|
5
|
|
6
|
|
7
|
|
500
|
|
501
|
|
502
|
|
503
|
|
504
|
|
600
|
|
610
|
|
611
|
|
drop table t1;
|
|
set @@session.auto_increment_increment=10, @@session.auto_increment_offset=1;
|
|
create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
|
|
include/sync_slave_sql_with_master.inc
|
|
insert into t1 values(2),(12),(22),(32),(42);
|
|
insert into t1 values (NULL),(NULL);
|
|
insert into t1 values (3),(NULL),(NULL);
|
|
select * from t1;
|
|
a
|
|
1
|
|
3
|
|
11
|
|
21
|
|
31
|
|
include/sync_slave_sql_with_master.inc
|
|
select * from t1;
|
|
a
|
|
1
|
|
2
|
|
3
|
|
11
|
|
12
|
|
21
|
|
22
|
|
31
|
|
32
|
|
42
|
|
drop table t1;
|
|
SET sql_mode = 'NO_ENGINE_SUBSTITUTION';
|
|
create table t1 (a tinyint not null auto_increment primary key) engine=myisam;
|
|
insert into t1 values(103);
|
|
set auto_increment_increment=11;
|
|
set auto_increment_offset=4;
|
|
insert into t1 values(null);
|
|
insert into t1 values(null);
|
|
insert into t1 values(null);
|
|
ERROR 23000: Duplicate entry '125' for key 'PRIMARY'
|
|
select a, mod(a-@@auto_increment_offset,@@auto_increment_increment) from t1 order by a;
|
|
a mod(a-@@auto_increment_offset,@@auto_increment_increment)
|
|
103 0
|
|
114 0
|
|
125 0
|
|
create table t2 (a tinyint unsigned not null auto_increment primary key) engine=myisam;
|
|
set auto_increment_increment=10;
|
|
set auto_increment_offset=1;
|
|
set insert_id=1000;
|
|
insert into t2 values(null);
|
|
Warnings:
|
|
Warning 1264 Out of range value for column 'a' at row 1
|
|
select a, mod(a-@@auto_increment_offset,@@auto_increment_increment) from t2 order by a;
|
|
a mod(a-@@auto_increment_offset,@@auto_increment_increment)
|
|
251 0
|
|
create table t3 like t1;
|
|
set auto_increment_increment=1000;
|
|
set auto_increment_offset=700;
|
|
insert into t3 values(null);
|
|
Warnings:
|
|
Warning 1264 Out of range value for column 'a' at row 1
|
|
select * from t3 order by a;
|
|
a
|
|
127
|
|
include/sync_slave_sql_with_master.inc
|
|
select * from t1 order by a;
|
|
a
|
|
103
|
|
114
|
|
125
|
|
select * from t2 order by a;
|
|
a
|
|
251
|
|
select * from t3 order by a;
|
|
a
|
|
127
|
|
drop table t1,t2,t3;
|
|
SET sql_mode = default;
|
|
include/sync_slave_sql_with_master.inc
|
|
include/rpl_reset.inc
|
|
DROP TABLE IF EXISTS t2;
|
|
CREATE TABLE t2 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY) ENGINE=myisam;
|
|
SET SQL_MODE='';
|
|
INSERT INTO t2 VALUES(NULL);
|
|
SELECT * FROM t2;
|
|
id
|
|
700
|
|
INSERT INTO t2 VALUES();
|
|
SELECT * FROM t2;
|
|
id
|
|
700
|
|
1700
|
|
INSERT INTO t2 VALUES(0);
|
|
SELECT * FROM t2;
|
|
id
|
|
700
|
|
1700
|
|
2700
|
|
SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
|
|
INSERT INTO t2 VALUES(0);
|
|
SELECT * FROM t2;
|
|
id
|
|
0
|
|
700
|
|
1700
|
|
2700
|
|
INSERT INTO t2 VALUES(4);
|
|
FLUSH LOGS;
|
|
include/sync_slave_sql_with_master.inc
|
|
include/diff_tables.inc [master:t2, slave:t2]
|
|
DROP TABLE t2;
|
|
include/sync_slave_sql_with_master.inc
|
|
include/stop_slave.inc
|
|
RESET SLAVE;
|
|
RESET MASTER;
|
|
RESET MASTER;
|
|
FLUSH LOGS;
|
|
include/start_slave.inc
|
|
include/sync_slave_sql_with_master.inc
|
|
include/diff_tables.inc [master:t2, slave:t2]
|
|
DROP TABLE t2;
|
|
SET SQL_MODE='';
|
|
include/sync_slave_sql_with_master.inc
|
|
include/rpl_end.inc
|