1
by brian
clean slate |
1 |
# Only run test if "mysql_upgrade" is found |
2 |
--require r/have_mysql_upgrade.result
|
|
3 |
--disable_query_log
|
|
4 |
select LENGTH("$MYSQL_UPGRADE")>0 as have_mysql_upgrade; |
|
5 |
--enable_query_log
|
|
6 |
||
7 |
#
|
|
8 |
# Basic test that we can run mysql_upgrde and that it finds the |
|
9 |
# expected binaries it uses. |
|
10 |
#
|
|
11 |
--echo Run mysql_upgrade once
|
|
12 |
--exec $MYSQL_UPGRADE --skip-verbose 2>&1
|
|
13 |
||
14 |
# It should have created a file in the MySQL Servers datadir |
|
15 |
file_exists $MYSQLTEST_VARDIR/master-data/mysql_upgrade_info; |
|
16 |
||
17 |
--echo Run it again - should say already completed
|
|
18 |
--replace_result $MYSQL_SERVER_VERSION VERSION
|
|
19 |
--error 1
|
|
20 |
--exec $MYSQL_UPGRADE --skip-verbose 2>&1
|
|
21 |
||
22 |
# It should have created a file in the MySQL Servers datadir |
|
23 |
file_exists $MYSQLTEST_VARDIR/master-data/mysql_upgrade_info; |
|
24 |
||
25 |
--echo Force should run it regardless of wether it's been run before
|
|
26 |
--exec $MYSQL_UPGRADE --skip-verbose --force 2>&1
|
|
27 |
||
28 |
# It should have created a file in the MySQL Servers datadir |
|
29 |
file_exists $MYSQLTEST_VARDIR/master-data/mysql_upgrade_info; |
|
30 |
||
31 |
||
32 |
#
|
|
33 |
# Bug #25452 mysql_upgrade access denied. |
|
34 |
#
|
|
35 |
||
36 |
# Password protect a root account and run mysql_upgrade |
|
37 |
||
38 |
CREATE USER mysqltest1@'%' IDENTIFIED by 'sakila'; |
|
39 |
GRANT ALL ON *.* TO mysqltest1@'%'; |
|
40 |
--echo Run mysql_upgrade with password protected account
|
|
41 |
--exec $MYSQL_UPGRADE --skip-verbose --force --user=mysqltest1 --password=sakila 2>&1
|
|
42 |
||
43 |
DROP USER mysqltest1@'%'; |
|
44 |
||
45 |
||
46 |
#
|
|
47 |
# Bug #26639 mysql_upgrade exits successfully even if external command failed |
|
48 |
#
|
|
49 |
||
50 |
--echo Run mysql_upgrade with a non existing server socket
|
|
51 |
--replace_result $MYSQLTEST_VARDIR var
|
|
52 |
--replace_regex /.*mysqlcheck.*: Got/mysqlcheck: Got/ /\([0-9]*\)/(errno)/
|
|
53 |
--error 1
|
|
54 |
--exec $MYSQL_UPGRADE --skip-verbose --force --host=not_existing_host 2>&1
|
|
55 |
||
56 |
#
|
|
57 |
# Bug #28401 mysql_upgrade Failed with STRICT_ALL_TABLES, ANSI_QUOTES and NO_ZERO_DATE |
|
58 |
#
|
|
59 |
||
60 |
# The SQL commands used by mysql_upgrade are written to be run |
|
61 |
# with sql_mode set to '' - thus the scripts should change sql_mode |
|
62 |
# for the session to make sure the SQL is legal. |
|
63 |
||
64 |
# Test by setting sql_mode before running mysql_upgrade |
|
65 |
set GLOBAL sql_mode='STRICT_ALL_TABLES,ANSI_QUOTES,NO_ZERO_DATE'; |
|
66 |
--exec $MYSQL_UPGRADE --skip-verbose --force 2>&1
|
|
67 |
eval set GLOBAL sql_mode=default; |