summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/sysschema/t/mysqldump.test
blob: 35abc704117fb0fb223ca60fcfdbcf8c0f3e8cb4 (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
-- source include/not_embedded.inc
-- source include/have_innodb.inc
# Dump all databases
--exec $MYSQL_DUMP -uroot --all-databases > $MYSQLTEST_VARDIR/tmp/bug20902791.sql

# Save a copy of the user/tables_priv, to restore later
# Otherwise the final mysql_upgrade will REPLACE and update timestamps etc.
CREATE TEMPORARY TABLE tmp_global_priv AS SELECT * FROM mysql.global_priv;
CREATE TEMPORARY TABLE tmp_tables_priv AS SELECT * FROM mysql.tables_priv;

# Remove the sys schema
DROP DATABASE sys;

# Reload the dump
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug20902791.sql

# The sys schema should not exist
SHOW DATABASES;

# Finally reload the sys schema to return to normal
--exec $MYSQL_UPGRADE --skip-verbose --force 2>&1
SHOW DATABASES;

# Restore the saved privileges
TRUNCATE TABLE mysql.global_priv;
INSERT INTO mysql.global_priv (SELECT * FROM tmp_global_priv);
DROP TEMPORARY TABLE tmp_global_priv;

TRUNCATE TABLE mysql.tables_priv;
INSERT INTO mysql.tables_priv (SELECT * FROM tmp_tables_priv);
DROP TEMPORARY TABLE tmp_tables_priv;

FLUSH PRIVILEGES;
--let $MYSQLD_DATADIR= `select @@datadir`
--remove_file $MYSQLD_DATADIR/mysql_upgrade_info