284 lines
8.5 KiB
Plaintext
284 lines
8.5 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 test.t1 (a INT AUTO_INCREMENT KEY, t CHAR(6)) ENGINE=INNODB;
|
|
CREATE TABLE test.t2 (a INT AUTO_INCREMENT KEY, f INT, FOREIGN KEY(a) REFERENCES test.t1(a) ON DELETE CASCADE) ENGINE=INNODB;
|
|
create procedure test.p1(IN i CHAR(6))
|
|
begin
|
|
INSERT INTO test.t1 (t) VALUES (i);
|
|
INSERT INTO test.t2 VALUES (NULL,LAST_INSERT_ID());
|
|
end|
|
|
create procedure test.p2(IN i INT)
|
|
begin
|
|
DELETE FROM test.t1 where a < i;
|
|
end|
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
|
|
< -- test 1 call p1 -- >
|
|
------------------------
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
SET FOREIGN_KEY_CHECKS=1;
|
|
call test.p1('texas');
|
|
call test.p1('Live');
|
|
call test.p1('next');
|
|
call test.p1('to');
|
|
call test.p1('OK');
|
|
call test.p1('MySQL');
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
|
|
< -- test 1 select master after p1 -- >
|
|
---------------------------------------
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
SELECT * FROM test.t1;
|
|
a t
|
|
1 texas
|
|
2 Live
|
|
3 next
|
|
4 to
|
|
5 OK
|
|
6 MySQL
|
|
SELECT * FROM test.t2;
|
|
a f
|
|
1 1
|
|
2 2
|
|
3 3
|
|
4 4
|
|
5 5
|
|
6 6
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
|
|
< -- test 1 select slave after p1 -- >
|
|
--------------------------------------
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
include/sync_slave_sql_with_master.inc
|
|
SELECT * FROM test.t1;
|
|
a t
|
|
1 texas
|
|
2 Live
|
|
3 next
|
|
4 to
|
|
5 OK
|
|
6 MySQL
|
|
SELECT * FROM test.t2;
|
|
a f
|
|
1 1
|
|
2 2
|
|
3 3
|
|
4 4
|
|
5 5
|
|
6 6
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
|
|
< -- test 1 call p2 & select master -- >
|
|
----------------------------------------
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
call test.p2(4);
|
|
SELECT * FROM test.t1;
|
|
a t
|
|
4 to
|
|
5 OK
|
|
6 MySQL
|
|
SELECT * FROM test.t2;
|
|
a f
|
|
4 4
|
|
5 5
|
|
6 6
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
|
|
< -- test 1 select slave after p2 -- >
|
|
--------------------------------------
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
include/sync_slave_sql_with_master.inc
|
|
SELECT * FROM test.t1;
|
|
a t
|
|
4 to
|
|
5 OK
|
|
6 MySQL
|
|
SELECT * FROM test.t2;
|
|
a f
|
|
4 4
|
|
5 5
|
|
6 6
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
|
|
< -- End test 1 Begin test 2 -- >
|
|
---------------------------------
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
SET FOREIGN_KEY_CHECKS=0;
|
|
DROP PROCEDURE IF EXISTS test.p1;
|
|
DROP PROCEDURE IF EXISTS test.p2;
|
|
DROP TABLE IF EXISTS test.t1;
|
|
DROP TABLE IF EXISTS test.t2;
|
|
CREATE TABLE test.t1 (a INT, t CHAR(6), PRIMARY KEY(a)) ENGINE=INNODB;
|
|
CREATE TABLE test.t2 (a INT, f INT, FOREIGN KEY(a) REFERENCES test.t1(a) ON UPDATE CASCADE, PRIMARY KEY(a)) ENGINE=INNODB;
|
|
CREATE PROCEDURE test.p1(IN nm INT, IN ch CHAR(6))
|
|
BEGIN
|
|
INSERT INTO test.t1 (a,t) VALUES (nm, ch);
|
|
INSERT INTO test.t2 VALUES (nm, LAST_INSERT_ID());
|
|
END|
|
|
CREATE PROCEDURE test.p2(IN i INT)
|
|
BEGIN
|
|
UPDATE test.t1 SET a = i*10 WHERE a = i;
|
|
END|
|
|
SET FOREIGN_KEY_CHECKS=1;
|
|
CALL test.p1(1,'texas');
|
|
CALL test.p1(2,'Live');
|
|
CALL test.p1(3,'next');
|
|
CALL test.p1(4,'to');
|
|
CALL test.p1(5,'OK');
|
|
CALL test.p1(6,'MySQL');
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
|
|
< -- test 2 select Master after p1 -- >
|
|
---------------------------------------
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
SELECT * FROM test.t1;
|
|
a t
|
|
1 texas
|
|
2 Live
|
|
3 next
|
|
4 to
|
|
5 OK
|
|
6 MySQL
|
|
SELECT * FROM test.t2;
|
|
a f
|
|
1 6
|
|
2 6
|
|
3 6
|
|
4 6
|
|
5 6
|
|
6 6
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
|
|
< -- test 2 select Slave after p1 -- >
|
|
--------------------------------------
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
include/sync_slave_sql_with_master.inc
|
|
SELECT * FROM test.t1;
|
|
a t
|
|
1 texas
|
|
2 Live
|
|
3 next
|
|
4 to
|
|
5 OK
|
|
6 MySQL
|
|
SELECT * FROM test.t2;
|
|
a f
|
|
1 6
|
|
2 6
|
|
3 6
|
|
4 6
|
|
5 6
|
|
6 6
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
|
|
< -- test 2 call p2 & select Master -- >
|
|
----------------------------------------
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
CALL test.p2(2);
|
|
CALL test.p2(4);
|
|
CALL test.p2(6);
|
|
SELECT * FROM test.t1;
|
|
a t
|
|
1 texas
|
|
3 next
|
|
5 OK
|
|
20 Live
|
|
40 to
|
|
60 MySQL
|
|
SELECT * FROM test.t2;
|
|
a f
|
|
1 6
|
|
3 6
|
|
5 6
|
|
20 6
|
|
40 6
|
|
60 6
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
|
|
< -- test 1 select Slave after p2 -- >
|
|
--------------------------------------
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
include/sync_slave_sql_with_master.inc
|
|
SELECT * FROM test.t1;
|
|
a t
|
|
1 texas
|
|
3 next
|
|
5 OK
|
|
20 Live
|
|
40 to
|
|
60 MySQL
|
|
SELECT * FROM test.t2;
|
|
a f
|
|
1 6
|
|
3 6
|
|
5 6
|
|
20 6
|
|
40 6
|
|
60 6
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
|
|
< -- End test 2 Begin test 3 -- >
|
|
---------------------------------
|
|
Warnings:
|
|
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
|
|
CREATE TABLE test.t3 (a INT AUTO_INCREMENT KEY, t CHAR(6))ENGINE=INNODB;
|
|
CREATE PROCEDURE test.p3(IN n INT)
|
|
begin
|
|
CASE n
|
|
WHEN 2 THEN
|
|
DELETE from test.t3;
|
|
ELSE
|
|
INSERT INTO test.t3 VALUES (NULL,'NONE');
|
|
END CASE;
|
|
end|
|
|
SET AUTOCOMMIT=0;
|
|
START TRANSACTION;
|
|
ROLLBACK;
|
|
select * from test.t3;
|
|
a t
|
|
include/sync_slave_sql_with_master.inc
|
|
select * from test.t3;
|
|
a t
|
|
START TRANSACTION;
|
|
COMMIT;
|
|
select * from test.t3;
|
|
a t
|
|
98 NONE
|
|
include/sync_slave_sql_with_master.inc
|
|
select * from test.t3;
|
|
a t
|
|
98 NONE
|
|
SET AUTOCOMMIT=1;
|
|
SET FOREIGN_KEY_CHECKS=0;
|
|
DROP PROCEDURE test.p3;
|
|
DROP PROCEDURE test.p1;
|
|
DROP PROCEDURE test.p2;
|
|
DROP TABLE test.t1;
|
|
DROP TABLE test.t2;
|
|
DROP TABLE test.t3;
|
|
include/rpl_end.inc
|