summaryrefslogtreecommitdiff
path: root/client/mysql_upgrade.c
diff options
context:
space:
mode:
Diffstat (limited to 'client/mysql_upgrade.c')
-rw-r--r--client/mysql_upgrade.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/client/mysql_upgrade.c b/client/mysql_upgrade.c
index cef5e22647d..a6fbcb406b9 100644
--- a/client/mysql_upgrade.c
+++ b/client/mysql_upgrade.c
@@ -776,7 +776,7 @@ static int run_mysqlcheck_upgrade(const char *arg1, const char *arg2)
static int run_mysqlcheck_fixnames(void)
{
- verbose("Phase 3/4: Fixing table and database names");
+ verbose("Phase 3/5: Fixing table and database names");
print_conn_args("mysqlcheck");
return run_tool(mysqlcheck_path,
NULL, /* Send output from mysqlcheck directly to screen */
@@ -874,7 +874,8 @@ static int run_sql_fix_privilege_tables(void)
query_ptr++
)
{
- dynstr_append(&ds_script, *query_ptr);
+ if (strcasecmp(*query_ptr, "flush privileges;\n"))
+ dynstr_append(&ds_script, *query_ptr);
}
run_query(ds_script.str,
@@ -1035,19 +1036,23 @@ int main(int argc, char **argv)
/*
Run "mysqlcheck" and "mysql_fix_privilege_tables.sql"
*/
- verbose("Phase 1/4: Checking mysql database");
+ verbose("Phase 1/5: Checking mysql database");
if (run_mysqlcheck_upgrade("--databases", "mysql"))
die("Upgrade failed" );
- verbose("Phase 2/4: Running 'mysql_fix_privilege_tables'...");
+ verbose("Phase 2/5: Running 'mysql_fix_privilege_tables'...");
if (run_sql_fix_privilege_tables())
die("Upgrade failed" );
if (!opt_systables_only &&
(run_mysqlcheck_fixnames() ||
- verbose("Phase 4/4: Checking and upgrading tables") ||
+ verbose("Phase 4/5: Checking and upgrading tables") ||
run_mysqlcheck_upgrade("--all-databases","--skip-database=mysql")))
die("Upgrade failed" );
+ verbose("Phase 5/5: Running 'FLUSH PRIVILEGES'...");
+ if (run_query("FLUSH PRIVILEGES", NULL, TRUE))
+ die("Upgrade failed" );
+
verbose("OK");
/* Create a file indicating upgrade has been performed */