无效的备份文件mysql_【MySQL】mysqldump备份失败与解决方案合集

  • Post author:
  • Post category:mysql


〇 mysqldump: Error: Query execution was interrupted, maximum statement execution time exceeded when trying to dump tablespaces

〇 mysqldump: Error 3024: Query execution was interrupted, maximum statement execution time exceeded when dumping table `$tb_name` at row: xxxx

版本:

MySQL 5.7.8+

原因:

max_execution_time过小

处理思路:

① 通过hints,增大N值(文档说,在hints用法中,将N改为0为无限制,但我测下来不生效,可设置成一个较大值如999999解决)

SELECT /*+ MAX_EXECUTION_TIME(N) */ * FROM t1 LIMIT 100000;

② 修改max_execution_time值,将该值设置为较大一个值,或设置为0(不限制)

附录:

该参数5.7.8被添加,单位为ms,动态参数,默认为0,设置为0时意味着SELECT超时不被设置(不限制超时时间)。不作用于存储过程中的SELECT语句,并且只作用于只读的SELECT,如INSERT … SELECT … 是不被作用的。

for more information:

http://blog.itpub.net/29773961/viewspace-2150443/

〇 mysqldump: Couldnt execute SHOW FIELDS FROM `$view_name`: View $db_name.$view_name references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them (1356)

原因:

该view引用了无效的表,列,函数或者定义者。

处理思路:

可以根据报错信息,进入db,执行SHOW CREATE VIEW $view_name\G,查看该view的定义,逐一检查该view的基表,列,或相关函数与用户是否具有相关权限。考虑重建或删除视图。

〇 mysqldump: Couldnt execute show create table `$view_name`: Illegal mix of collations for operation UNION (1271)

原因:

创建view时,使用UNION时存在非法的排序规则组合。处理思路:

检查该视图定义,检查字符集,考虑重建或删除视图。

〇mysqldump: Couldnt execute SHOW FIELDS FROM `$view_name`: The user specified as a definer ($user@$host) does not exist (1449)

〇 mysqldump: Couldnt execute show table status like $view_name: SELECT command denied to user @% for column $col_name in table $tb_name (1143)

原因:

该视图的定义者$user@$host不存在。

处理思路:

检查mysql.user表,确认



版权声明:本文为weixin_29603829原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。