最近,我在mmy.cnf max_statement_time=120中添加了一个全局变量;以停止长时间运行的查询并抛出异常。工作很好。然后,我无法运行mysqldump来备份我的所有数据库,很明显,我们有大型数据库,所以使用mysqldump备份需要几个小时,因为这里我只将max_statement_time添加到120秒。因此,我如何通过mysqldump将其作为会话变量传递,将其设置为仅用于mysqldump而全局值仍为120秒的小时。显然,我想要的是下面这样的东西:
mysqldump --max_statement_time=1000000 -u root -pMYPASS --all-databases > file.sql我们在那里有什么选择吗?我浏览了mysqldump,发现它有--变量名称=value,但是它不接受这个。我正在使用MariaDB10.2版本。
发布于 2018-12-04 13:56:23
我认为您应该能够通过将会话变量放置在backup.cnf文件中来指定它:
max_statement_time=10000然后将--defaults-file=backup.cnf参数用于mysqldump。
(您还可以将用户凭据放置在该文件中,这样就不必在命令行上显示用户名和密码,这是一个潜在的安全问题。)
发布于 2018-11-30 04:38:17
我建议你创建一个新用户只是为了转储。给它SUPER特权,这样它就可以做它所需要的事情。并且给它无限的max_execution_time。
那么你就不需要在你猜测的地方增加一个参数了。
https://dba.stackexchange.com/questions/223798
复制相似问题