Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.2.27, 10.1.41, 10.3.18, 10.4.8
-
None
Description
mysqldump ignores some internal tables by default, such as:
- mysql.apply_status
- mysql.schema
- mysql.general_log
- mysql.slow_log
- mysql.transaction_registry
See here:
https://github.com/MariaDB/server/blob/mariadb-10.4.8/client/mysqldump.c#L1001
I think the following tables should also be ignored by default:
- mysql.innodb_index_stats
- mysql.innodb_table_stats
The reason is that if someone tries to import a dump created by mysqldump, then a race condition between the import and the InnoDB persistent statistics calculation exists, and the user can see errors like this:
Duplicate 'PRIMARY-n_diff_pfx01' for key 'primary' for database 'xxxx98'.
|
This was reported long ago in the following upstream bug report:
https://bugs.mysql.com/bug.php?id=71814
The workaround mentioned in that bug report is to disable InnoDB persistent statistics prior to the import:
SET GLOBAL innodb_stats_auto_recalc=0;
|
SET GLOBAL innodb_stats_persistent=0;
|
However, it would be more ideal to make this workaround unnecessary by fixing the problem.
Attachments
Issue Links
- relates to
-
MDEV-22037 Add ability to skip content of some tables (work around for MDEV-20939)
- Closed
- links to