Устал бороться с хостером, он не может устранить проблему. Может подскажете как ?

12
BR
На сайте с 28.06.2008
Offline
75
#11
Логистик:
сервер, где мой акк находится, почит пустой кстати

- это Вы откуда узнали? :)

Логистик:
возможно это влияние других аккаунтов на сервере
такое возможно вобще ?

- если сервер MySQL используется многими пользователями, то запросто

размещение сайтов (http://www.brim.ru)
N
На сайте с 06.05.2007
Offline
419
#12
Brim.ru:
- а какая будет ошибка при переполнении /tmp?

например, номер 28 No space left on device

Кнопка вызова админа ()
BR
На сайте с 28.06.2008
Offline
75
#13
netwind:
например, номер 28 No space left on device

- одно другому не мешает: Can't create/write to file, но суть скорее всего одна - не хватает места для временных файлов в папке /tmp

N
На сайте с 06.05.2007
Offline
419
#14

Brim.ru, ну код ошибки операционной системы другой. изучайте документацию,а то не дай бог и на вашем сервере такое случится.

BR
На сайте с 28.06.2008
Offline
75
#15
netwind:
Brim.ru, ну код ошибки операционной системы другой. изучайте документацию,а то не дай бог и на вашем сервере такое случится.

- внимательней читайте сообщения которые приводят клиенты, а то не дай бог не найдете с ними общего языка :

Логистик:
Выскакивает подобная ошибка : Can't create/write to file '/tmp/#sql_1db0_0.MYD' (Errcode: 17)
N
На сайте с 06.05.2007
Offline
419
#16

Brim.ru, вот именно. Вы видите разницу между Errcode: 17 и Errcode:28 ? Я - да.

BR
На сайте с 28.06.2008
Offline
75
#17
netwind:
Brim.ru, вот именно. Вы видите разницу между Errcode: 17 и Errcode:28 ? Я - да.

Попробуем порассуждать: при выполнении запроса БД периодически (не всегда!) сообщает "Can't create/write to file '/tmp/#sql_1db0_0.MYD' (Errcode: 17)", что дословно (для тех кто видит разницу между 17 и 28) означает что запись невозможна, так как файл с именем #sql_1db0_0.MYD уже существует. ОК - хостер чистит папку /tmp (удаляет злополучный #sql_1db0_0.MYD) и все снова работает до следующего сбоя. Теперь вопрос - а из-за чего происходит сбой? Почему MySQL создает файл #sql_1db0_0.MYD, а потом не может его удалить и он остается в папке /tmp? Одно из разумных предположений что этот временный файл был успешно создан, затем по каким-то причинам, переполнился /tmp, произошел сбой в результате которого #sql_1db0_0.MYD не был удален по завершении запроса, ну а дальше netwind тычет нас в код ошибки и говорит что эта ошибка означает что файл уже существует :)

Менее вероятный механизм возникновения описанной ошибки описан тут и в документации - в настройках MySQL отсутствует путь к папке для временных файлов, мелкие запросы выполняются в ОП, а запросы не влезающие в ОП требуют записи во временную директорию которой по умолчанию считается /tmp, а у этого /tmp нет прав для записи от имени пользователя под которым работает MySQL.

Думаю не только мне интересно как зовут хостера :)

N
На сайте с 06.05.2007
Offline
419
#18

Brim.ru, вы не поверите, но при аварийном завершении mysql, или даже ошибке записи без завершения, все временные файлы исчезают волшебным образом. поэтому переполнение диска это именно переполнение диска - error 28. более того - можно создать программу создающую 10 временных файлов с одним и тем же именем в /tmp и прекрасно с ними работающую.

гораздо вероятнее, что кто-то чистил /tmp методом полного удаления, а потом создал и забыл поставить права +t.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий