Details
-
Type:
Bug
-
Status: Open
-
Priority:
Minor
-
Resolution: Unresolved
-
Affects Version/s: 5.5.32, 10.1, 10.0, 5.5
-
Fix Version/s: 10.1
-
Component/s: Admin statements
Description
A full dump created with
mysqldump --all-databases --add-drop-database ...
can't be restored on a system that has general_log or slow_query_log
enabled as the DROP DATABASE command for the "mysql" database fails
with
ERROR 1580 (HY000): You cannot 'DROP' a log table if logging is enabled
How to repeat:
Create a full dump with
mysqldump --all-databases --add-drop-database ... > dump.sql
Then in mysql CLI:
SET GLOBAL slow_query_log=1; SOURCE dump.sql
Suggested fix:
If bug#69953 / MDEV-4851 gets fixed first: extend DROP for "mysql" database with
/*!50106 SET @OLD_LOG_OUTPUT=@@LOG_OUTPUT*/; /*!50106 SET GLOBAL LOG_OUTPUT='NONE'*/; /*!40000 DROP DATABASE IF EXISTS `mysql`*/; /*!50106 SET GLOBAL LOG_OUTPUT=@OLD_LOG_OUTPUT*/;
as this will cover all present and potential future log tables;
If bug #69953 / MDEV-4851 isn't fixed: explicitly disable general_log and
slow_query_log
/*!50106 SET @OLD_GENERAL_LOG=@@GENERAL_LOG*/; /*!50106 SET GLOBAL GENERAL_LOG=0*/; /*!50106 SET @OLD_SLOW_QUERY_LOG=@@SLOW_QUERY_LOG*/; /*!50106 SET GLOBAL SLOW_QUERY_LOG=0*/; /*!40000 DROP DATABASE IF EXISTS `mysql`*/; /*!50106 SET GLOBAL GENERAL_LOG=@OLD_GENERAL_LOG*/; /*!50106 SET GLOBAL SLOW_QUERY_LOG=@OLD_SLOW_QUERY_LOG*/;
See also http://bugs.mysql.com/69970
Gliffy Diagrams
Attachments
Issue Links
- relates to
-
MDEV-8494 mysqldump ignore-table doesn't ignore mysql.slow_log or mysql.general_log
-
- Closed
-
- links to
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
http://bugs.mysql.com/bug.php?id=69953 was fixed in 10.1, so the problem mostly went away there, although http://bugs.mysql.com/69970 is still open, and statements for LOG_OUTPUT and such have not been added.