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.

Includes experimental support for dumping mysql-5.7/8.0
system tables.
  • Loading branch information
grooverdan committed Oct 2, 2020
1 parent 7c5519c commit 9bd8d52
Show file tree
Hide file tree
Showing 4 changed files with 1,204 additions and 10 deletions.
Loading

0 comments on commit 9bd8d52

Please sign in to comment.