我们最近从MySQL 5.1升级到8.0.26。我们目前正在为备份运行以下命令: mysqldump -F -A -R --source-data=2 --单事务-u $myuser -p$mypw -P 3306 -S /var/lib/mysql.sock> $buFile
但是,当它运行时非常慢,我们还会收到以下警告,我认为这是问题的一部分:为大多数表选择SQL_NO_CACHE * FROM‘table’
SQL_NO_CACHE在MySQL 8中被降级,所以我确信这就是问题所在,但我不知道为什么在mysqldump中使用它。我们使用当前版本的选项的方式有问题吗?我们基本上复制了以前的mysqldump代码,并开始使用它。
当然,任何反馈都是有帮助的。谢谢!
发布于 2022-01-12 00:03:07
“查询缓存”曾经存在。它缓存大多数SELECTs,以防再次出现相同的查询。
在8.0之前,SQL_NO_CACHE说要绕过QC,强制执行mysqldump问题的SELECTs。它对8.0没有影响。(底线:这个标记对这个问题没有影响。)
你的5.1有多少内存?你用的是哪台发动机?您是否仍然使用相同的引擎,或者它是否更改为InnoDB。多少数据?
如果您使用的是MyISAM,现在使用的是InnoDB,这会产生一定的影响,但可能不会有明显的影响。
innodb_buffer_pool_size的8.0设置是什么?
https://stackoverflow.com/questions/70660254
复制相似问题