PrestaShop无缘无故在/ tmp中创建#sql_文件

时间:2019-04-15 12:16:10

标签: mysql mariadb prestashop temp-tables

在我的prestashop中,我面临一个奇怪的问题。 Prestashop将创建临时表,该临时表放置在/ tmp中,因为这是在my.cnf中配置的,可以,但是会产生它们的原因以及可能导致的问题。文件示例:  mysql:mysql /tmp/#sql_c2d_3.MAD

我的服务器使用centos 7,mariadb 10.3,php 7.1。如果还有其他需要,我将很乐意分享。

我的服务器使用centos 7,mariadb 10.3,php 7.1,我检查了https://mariadb.com/kb/en/library/mysqld-fills-tmp-with-file-tmpsql_26be_0mad/,其中说: 当您在InnoDB表上运行某些ALTER或CREATE命令时,在操作过程中会在mysql的tmpdir中创建一个临时表。my.cnf中的默认值为/ tmp

之后,我不确定该问题是由服务器还是由prestashop引起的。我检查了一个模块是否会导致这种情况,但是我找不到任何错误。

1 个答案:

答案 0 :(得分:1)

当您在InnoDB表上运行一些ALTER / CREATE命令时,在操作过程中会在MySQL的临时文件夹中创建一个临时表(实际上,my.cnf中的默认值为/ tmp)。

据我所知,在PrestaShop 1.7.x中,临时MySQL表(例如,使用关键字CREATE TEMPORARY TABLE)仅在特价页面(列出当前打折的产品)上使用。

>

在此文件中,通过Product类(文件getRandomSpecial())中称为/classes/Product.php的方法来快速计算产品减少量。

我希望这会有所帮助,否则,建议您在/modules/目录中扫描PHP文件中的关键字TEMPORARY TABLE