summaryrefslogtreecommitdiff
path: root/mysql-test/suite/rpl/t/rpl_password_boundaries.test
blob: 9e9685943f7b540bebda706cceb9028ac902d37a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
source include/not_embedded.inc;
source include/master-slave.inc;
source include/rpl_reset.inc;

# Suppress warnings that might be generated during the test
disable_query_log;
connection master;
call mtr.add_suppression("Timeout waiting for reply of binlog");
connection slave;
call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
enable_query_log;

connection master;

# wait for dying connections (if any) to disappear
let $wait_condition= select count(*) = 0 from information_schema.processlist where command='killed';
--source include/wait_condition.inc

# 32*3-character ASCII password should work all right

set sql_log_bin=0;
grant replication slave on *.* to rpl32@127.0.0.1 identified by '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef';
set sql_log_bin=1;

connection slave;
source include/stop_slave.inc;
change master to master_user='rpl32',master_password='0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef';
source include/start_slave.inc;

connection master;
drop table if exists t1;
create table t1 (i int);
insert into t1 values (1);
sync_slave_with_master;
echo [ synchronized ];

connection master;

# 32*3+1 -character ASCII password expected to fail
set sql_log_bin=0;
grant replication slave on *.* to rpl33@127.0.0.1 identified by '0123456789abcdef0123456789abcdef!';
set sql_log_bin=1;

connection slave;
source include/stop_slave.inc;
--error ER_WRONG_STRING_LENGTH
change master to master_user='rpl33',master_password='0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef!';

# Check also master_user and master_host
--error ER_WRONG_STRING_LENGTH
change master to master_user='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
--error ER_WRONG_STRING_LENGTH
change master to master_host='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc';

# 48-character cyrillic password should work all right
connection master;
set sql_log_bin=0;
grant replication slave on *.* to rpl16cyr@127.0.0.1 identified by 'воттакойужпарольвоттакойужпарольвоттакойужпароль';
set sql_log_bin=1;

connection slave;
SET NAMES utf8;
change master to master_user='rpl16cyr',master_password='воттакойужпарольвоттакойужпарольвоттакойужпароль';
source include/start_slave.inc;

connection master;
drop table if exists t1;
create table t1 (i int);
insert into t1 values (1);
sync_slave_with_master;
echo [ synchronized ];

# 48+1-character cyrillic password should fail

connection master;
set sql_log_bin=0;
grant replication slave on *.* to rpl17mix@127.0.0.1 identified by 'воттакойужпарольвоттакойужпарольвоттакойужпароль!';
set sql_log_bin=1;

connection slave;
source include/stop_slave.inc;
--error ER_WRONG_STRING_LENGTH
change master to master_user='rpl17mix',master_password='воттакойужпарольвоттакойужпарольвоттакойужпароль!';

# Cleanup

connection master;
set sql_log_bin=0;
drop user rpl32@127.0.0.1, rpl33@127.0.0.1, rpl16cyr@127.0.0.1, rpl17mix@127.0.0.1;
set sql_log_bin=1;

connection slave;
change master to master_user='root',master_password='';
source include/start_slave.inc;

connection master;
drop table if exists t1;
sync_slave_with_master;

connection master;
--source include/rpl_end.inc