PrestaShop создает файлы #sql_ в / tmp без причины - PullRequest
1 голос
/ 15 апреля 2019

В моем 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/, который говорит: Когда вы запускаете определенный ALTER илиКоманды CREATE для таблицы InnoDB, временная таблица создается в tmpdir mysql во время операции. Значением по умолчанию в my.cnf является / tmp

. После этого я не уверен, что проблема вызвана сервером илипо prestashop.Я проверил, может ли модуль вызвать это, но я не смог найти ничего плохого.

1 Ответ

1 голос
/ 15 апреля 2019

Когда вы запускаете некоторые команды ALTER / CREATE для таблицы InnoDB, временная таблица создается во временной папке MySQL во время операции (действительно, значением по умолчанию в my.cnf является /tmp).

Насколько мне известно, в PrestaShop 1.7.x временные таблицы MySQL (например, с использованием ключевого слова CREATE TEMPORARY TABLE) используются только на странице Specials (в списке товаров, на которые в настоящее время действует скидка).

В этом файле сокращения продукта рассчитываются на лету с помощью метода, называемого getRandomSpecial() из класса Product (файл /classes/Product.php).

Надеюсь, это поможет, если нет, то будет предлагать сканирование каталога /modules/ на ключевое слово TEMPORARY TABLE в файлах PHP.

...