尝试转储所有数据库以创建复制
mysqldump --all-databases --master-data --single-transaction > all_databases.sql
结果出现以下错误
mysqldump:无法执行“SELECT /*!40001 SQL_NO_CACHE */ * FROM
xxxtable
”:SELECT 将检查超过 MAX_JOIN_SIZE 行;检查您的 WHERE 并使用 SET SQL_BIG_SELECTS=1 或 SET MAX_JOIN_SIZE=#(如果 SELECT 没问题)(1104)
有没有办法确保 mysqldump 正常工作,而无需重新启动服务器并更新其中的 my.cnf?当然,我们不想总是在生产服务器上启用大选择。
使用 MySQL 5.6
答案1
在启动 mysqldump 之前,您可以发送此查询来检查是否有可用的大选择:
选择@@global.SQL_BIG_SELECTS;
然后你可以使用
设置@@global.SQL_BIG_SELECTS = 1;
并再次禁用(转储后)使用
设置@@global.SQL_BIG_SELECTS = 0;