Skip to content

Commit

Permalink
MDEV-23630: mysqldump logically dump system table information
Browse files Browse the repository at this point in the history
Add --system={all, users, plugins, udf, servers, stats, timezones}

This will dump system information from the server in
a logical form like
* CREATE USER
* GRANT
* CREATE ROLE
* CREATE SERVER
* INSTALL PLUGIN
* CREATE FUNCTION

"stats" is the innodb statistics tables or EITS and
these are dumped as INSERT/REPLACE INTO statements
without recreating the table.

"timezones" is the collection of timezone tables
which are important to transfer to generate identical
results on restoration.

Two other options have an effect on the SQL generated by
--system=all. These are mutually exclusive of each other.
* --replace
* --insert-ignore

--replace will include "OR REPLACE" into the logical form
like 'CREATE OR REPLACE USER ...'

--insert-ignore uses the construct " IF NOT EXISTS" where
supported in the logical syntax.

'CREATE OR REPLACE USER' includes protection against
being run as the same user that is importing the mysqldump.

Includes experimental support for dumping mysql-5.7/8.0
system tables.
  • Loading branch information
grooverdan committed Oct 8, 2020
1 parent b18921c commit 51b8208
Show file tree
Hide file tree
Showing 4 changed files with 1,237 additions and 10 deletions.
Loading

0 comments on commit 51b8208

Please sign in to comment.