mysql 5.6 ERROR 1580 (HY000) at line 241069: You cannot 'DROP' a log table if logging is enabled

背景:

  数据库版本是5.6

       为了新增一台mysql从库,在主库上通过mysqldump导出的sql文件,导入到新的mysql中,报以下错误。

[root@w214 wangzhi]# mysql -uroot -p -P3308 -S /tmp/mysql3308.sock < 3308-0618.sql
Enter password: 
ERROR 1580 (HY000) at line 241069: You cannot 'DROP' a log table if logging is enabled

  1、主库上导出的命令

[root@master1 wangzhi]# /usr/local/mysql/bin/mysqldump -S /tmp/mysql.sock -uroot -p -P3308 -Q -B -R -v --opt --single-transaction --master-data=1 --add-drop-database --all-databases 2> 3308-0618.log|gzip > 3308-0618.sql.gz
Enter password:

  2、新增的从库上导入命令

[root@w214 wangzhi]# mysql -uroot -p -P3308 -S /tmp/mysql3308.sock < 3308-0618.sql
Enter password: 

  3、导入到一半的时候,出现上述的错误提示,同时有部分数据库没有导入成功。

 分析:

1、导出sql的时候用到--add-drop-database --all-databases 会把主库上所有的库都给导出,同时sql文件中有删除系统库中表的语句。

 解决方式:

mysql> show variables like "slow_query_log";
+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| slow_query_log | ON    |
+----------------+-------+
1 row in set (0.00 sec)

mysql> SET GLOBAL slow_query_log=0;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like "slow_query_log";
+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| slow_query_log | OFF   |
+----------------+-------+
1 row in set (0.00 sec)

mysql> 

 再次导入,问题解决。

导入完成后,需要修改回来设置。

mysql> SET GLOBAL slow_query_log=1;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like "slow_query_log";
+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| slow_query_log | ON   |
+----------------+-------+
1 row in set (0.00 sec)

mysql> 
posted @ 2020-06-18 16:14  MR__Wang  阅读(684)  评论(0编辑  收藏  举报