mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	* A more dynamic binlog format which allows small changes (1064) * Log session variables in Query_log_event (1063) It contains a few bugfixes (which I made when running the testsuite). I carefully updated the results of the testsuite (i.e. I checked for every one, if the difference between .reject and .result could be explained). Apparently mysql-test-run --manager is broken in 4.1 and 5.0 currently, so I could neither run the few tests which require --manager, nor check that they pass nor modify their .result. But for builds, we don't run with --manager. Apart from --manager, the full testsuite passes, with Valgrind too (no errors). I'm going to push in the next minutes. Remains: update the manual. Note: by chance I saw that (in 4.1, in 5.0) rpl_get_lock fails when run alone; this is normal at it makes assumptions on thread ids. I will fix this one day in 4.1.
		
			
				
	
	
		
			63 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
source include/have_openssl_1.inc;
 | 
						|
source include/master-slave.inc;
 | 
						|
 | 
						|
# We don't test all types of ssl auth params here since it's a bit hard 
 | 
						|
# until problems with OpenSSL 0.9.7 are unresolved
 | 
						|
 | 
						|
# creating replication user for whom ssl auth is required
 | 
						|
# preparing playground
 | 
						|
connection master;
 | 
						|
grant replication slave on *.* to replssl@'%' require ssl;
 | 
						|
create table t1 (t int);
 | 
						|
save_master_pos;
 | 
						|
 | 
						|
#syncing with master
 | 
						|
connection slave;
 | 
						|
sync_with_master;
 | 
						|
 | 
						|
#trying to use this user without ssl
 | 
						|
stop slave;
 | 
						|
change master to master_user='replssl',master_password='';
 | 
						|
start slave;
 | 
						|
 | 
						|
#showing that replication don't work
 | 
						|
connection master;
 | 
						|
insert into t1 values (1);
 | 
						|
#reasonable timeout for changes to propagate to slave
 | 
						|
sleep 3;
 | 
						|
connection slave;
 | 
						|
select * from t1;
 | 
						|
 | 
						|
#showing that replication could work with ssl params
 | 
						|
stop slave;
 | 
						|
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
 | 
						|
eval change master to master_ssl=1 , master_ssl_ca ='$MYSQL_TEST_DIR/std_data/cacert.pem', master_ssl_cert='$MYSQL_TEST_DIR/std_data/client-cert.pem', master_ssl_key='$MYSQL_TEST_DIR/std_data/client-key.pem';
 | 
						|
start slave;
 | 
						|
 | 
						|
#avoiding unneeded sleeps
 | 
						|
connection master;
 | 
						|
save_master_pos;
 | 
						|
connection slave;
 | 
						|
sync_with_master;
 | 
						|
 | 
						|
#checking that replication is ok
 | 
						|
select * from t1;
 | 
						|
 | 
						|
#checking show slave status
 | 
						|
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR $MASTER_MYPORT MASTER_MYPORT
 | 
						|
--replace_column 1 # 8 # 9 # 23 # 33 #
 | 
						|
show slave status;
 | 
						|
 | 
						|
#checking if replication works without ssl also performing clean up
 | 
						|
stop slave;
 | 
						|
change master to master_user='root',master_password='', master_ssl=0;
 | 
						|
start slave;
 | 
						|
connection master;
 | 
						|
drop table t1;
 | 
						|
save_master_pos;
 | 
						|
connection slave;
 | 
						|
sync_with_master;
 | 
						|
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR $MASTER_MYPORT MASTER_MYPORT
 | 
						|
--replace_column 1 # 8 # 9 # 23 # 33 #
 | 
						|
show slave status;
 |