Комментарии 53
Может mysql-сервер падает?
0
Это связано с использованием виртуального хостинга.
Вы не держите палец на пульсе, у вас нет контроля. Переезжайте на свой сервак с правами рута — (физический или виртуальный).
Вы не держите палец на пульсе, у вас нет контроля. Переезжайте на свой сервак с правами рута — (физический или виртуальный).
+2
Во первых, этот движок крутится на 6 разных серверах, 4 из них шаред, проблема только на одном из них.
Во вторых, для проекта с посещаемостью 10-30 уников в сутки, это не рентабельно.
Во вторых, для проекта с посещаемостью 10-30 уников в сутки, это не рентабельно.
0
Это не проблема движка, это проблема сервера mysql на конкретно взятом серваке.
Насчет рентабильно — я переодически кручу проекты с посещаемостью сотни уников в день на виртуальных серваках за 250 руб/мес.
Насчет рентабильно — я переодически кручу проекты с посещаемостью сотни уников в день на виртуальных серваках за 250 руб/мес.
0
Кстати возможно, что это было в связи с отказом выделения ресурсов. Проанализируйте время таких ошибок, если это время пиковых нагрузок рунета — все сходится
0
Рандом полнейший. Причем это не из серии: Тыкнулся — не работает. Обновил — заработало. Он целенаправленно может лежать до часа. При этом сервер мускуля нормально функционирует.
0
Собственно рандом — это по поводу времени. И утром, и днем, и вечером. Все что угодно.
0
>> Access denied for user 'dbuser'@'localhost' (using password: YES)
Это не похоже на сообщение майскуэльного апи, это сообщение сервера mysql. Когда наступает затык — пробуйте подключиться клиентом mysql, если там точно также — щемите хостера до упора, это 100% их проблемы
Это не похоже на сообщение майскуэльного апи, это сообщение сервера mysql. Когда наступает затык — пробуйте подключиться клиентом mysql, если там точно также — щемите хостера до упора, это 100% их проблемы
0
клиентом в смысле с локального хоста в SSH
0
Все хорошо цепляется. В том то и проблема.
0
Тогда вообще мистика.
Но выход все равно один: жать хостера.
Напишите простой скрипт в одном файле который будет просто коннектиться к базе и писать удалось / не удалось. (Возможно кстати после этого придет просветление). Если этот скрипт не работает — смело начинайте жестко наезжать на хостера с требованием разобраться.
Но выход все равно один: жать хостера.
Напишите простой скрипт в одном файле который будет просто коннектиться к базе и писать удалось / не удалось. (Возможно кстати после этого придет просветление). Если этот скрипт не работает — смело начинайте жестко наезжать на хостера с требованием разобраться.
0
Если цепляется — прицепиться и мучить MySQL. SHOW OPEN TABLES, SHOW PROCESSLIST и т.п. Можете увидеть много интересного.
Наблюдаю такое регулярно на десятках сайтов — чем ваш такой особенный?
Наблюдаю такое регулярно на десятках сайтов — чем ваш такой особенный?
+1
настройте кроном подключение раз в секунду этим логином-паролем
протоколируйте все что можно протоколировать
и вашу фазу луны давайте на почитание хостеру. можете и тут опубликовать. авось решение и найдется
протоколируйте все что можно протоколировать
и вашу фазу луны давайте на почитание хостеру. можете и тут опубликовать. авось решение и найдется
0
Ресурс подключений выжираете. Переезжайте на другой хостинг.
+2
Есть проект на аналогичном хостинге, на индентичном сервере, с посещаемостью в 10-15 раз большей. Не аргумент.
0
Аналогичном, но другом?
0
Нет. Есть проект на предыдущей ветке движка, прям на этом же сервере.
Есть проект на полностью идентичном (если я это говорю, я знаю, что я говорю) сервере, но немного более старая версия этой ветки (ядро вообще не трогали, ни роуты, ни модуль отвечающий за генерацию первой страницы изменениям не подвергался)
Есть проект на полностью идентичном (если я это говорю, я знаю, что я говорю) сервере, но немного более старая версия этой ветки (ядро вообще не трогали, ни роуты, ни модуль отвечающий за генерацию первой страницы изменениям не подвергался)
0
На виртуальном хостинге есть такая веселуха, называется оверселлинг. Это еще покруче, чем фаза луны.
В общем думаю надо хостера жать, пусть их админы разберутся.
В общем думаю надо хостера жать, пусть их админы разберутся.
+1
Или ресурс подключений, или память, или еще что-то. Логично было бы посмотреть логи сервера, может там чего полезного есть.
Не понимаю вобще почему речь пошла про «фазы луны».
Не понимаю вобще почему речь пошла про «фазы луны».
+1
согласен с предыдущим оратором и, если не ошибаюсь, то замена mysql_connect на mysql_pconnect должна временно спасти отца русской демократии =)
+4
Да-да!
И ещё можно на движке сайта сделать спец.страницу /health/, при обращении к которой средствами самого движка проводилась бы самодиагностика и вывод результатов — это более корректная проверка «лежания» mysql, чем коннект извне.
И ещё можно на движке сайта сделать спец.страницу /health/, при обращении к которой средствами самого движка проводилась бы самодиагностика и вывод результатов — это более корректная проверка «лежания» mysql, чем коннект извне.
0
А, пардон, что в логах?
0
а в логах все тоже…
2008-11-24 18:27:27 +03:00 --- error: Не пойманное PHP Error: mysql_connect() [function.mysql-connect]: Access denied for user 'dbuser'@'localhost' (using password: YES) в файле system/libraries/drivers/Database/Mysql.php, на строке 61
Если вы про логи движка. На логи сервера я запрос отправил.0
А сколько инсертов в базу в час?
0
насколько я понимаю, возможно выпадение базы с таблицей юзеров. Пасворд есть, но юзера нет.
А через какое то время база восстанавливает вывалившиеся таблицы.
начит чето на серваке невпорядке с хардами.
А через какое то время база восстанавливает вывалившиеся таблицы.
начит чето на серваке невпорядке с хардами.
+2
Первая новая реальная идея. + в карму. Спасибо.
0
А, нет. Рано радуюсь, видно к вечеру мозг не варит. В этот же самый момент доступ к базе с этим юзером есть, яж неоднократно писал выше.
0
попробуйте это и если не поможет — отпишитесь, а то интересно же =)
0
я бы попробовал пересобрать php, возможно собран со старой версией библиотек mysql
понаблюдал бы как ведет себя mysql в момент таких глюков и вообще сервер БД и на котором крутится PHP (muninx, nagios и тд)
попробовать в момент глюков подключаться из php используя простой тестовый скрипт с mysql_connect
с mysql уже столько было загадочных глюков, что поверишь и в влияние фаз луны и во что угодно (хотя всему потом находилось рациональное объяснение).
понаблюдал бы как ведет себя mysql в момент таких глюков и вообще сервер БД и на котором крутится PHP (muninx, nagios и тд)
попробовать в момент глюков подключаться из php используя простой тестовый скрипт с mysql_connect
с mysql уже столько было загадочных глюков, что поверишь и в влияние фаз луны и во что угодно (хотя всему потом находилось рациональное объяснение).
0
А теперь внимание
ПРАВИЛЬНЫЙ ОТВЕТ! [БОМС]
Виноват конечно ХОСТЕР, потому что он поставил ЛИМИТЫ на число ЗАПРОСОВ, так как MYSQL позволяет это СДЕЛАТЬ.
Когда ваш скрипт перебирает ЛИМИТ — он получает ответ об ОШИБКЕ. Например, запрос занял БОЛЕЕ 1000 едениц времени — и он будет УНИЧТОЖЕН. При этом другой запрос, на эту же БАЗУ от этого же ПОЛЬЗОВАТЕЛЯ будет ВЫПОЛНЕН, если не выйдет за ЛИМИТ!
Включите в скрипте ОТЛАДКУ в файл и запускайте РАСШИФРОВКУ всех ответов от MYSQL туда.
Потом можете ПРОВЕРИТЬ файл и найти реальную причину — ПРЕВЫШЕНИЕ лимитов.
ПРАВИЛЬНЫЙ ОТВЕТ! [БОМС]
Виноват конечно ХОСТЕР, потому что он поставил ЛИМИТЫ на число ЗАПРОСОВ, так как MYSQL позволяет это СДЕЛАТЬ.
Когда ваш скрипт перебирает ЛИМИТ — он получает ответ об ОШИБКЕ. Например, запрос занял БОЛЕЕ 1000 едениц времени — и он будет УНИЧТОЖЕН. При этом другой запрос, на эту же БАЗУ от этого же ПОЛЬЗОВАТЕЛЯ будет ВЫПОЛНЕН, если не выйдет за ЛИМИТ!
Включите в скрипте ОТЛАДКУ в файл и запускайте РАСШИФРОВКУ всех ответов от MYSQL туда.
Потом можете ПРОВЕРИТЬ файл и найти реальную причину — ПРЕВЫШЕНИЕ лимитов.
0
При превышении ЛИМИТА на число ЗАПРОСОВ скрипт получает ответ об ОШИБКЕ: Can't connect to MySQL server…
0
Мдя? Мдя…
0
Неа, получает как раз Access denied :)
+1
Это при превышении лимитов на СЕРВЕР. При превышении КЛИЕНТСКИХ ЛИМИТОВ — как раз access denied. Как сервер может дать вам отлуп до login'а при превышении пользовательских лимитов — вы сами подумайте…
+1
Я конечно попробую, да и выше уже советовали… Только проблема в том, что на аналогичном сервере, этот движок цветет и пахнет при гораздо большем количестве посещений, просто таки в 10 раз больше. Но, да, все может быть. Пожалуй примем вашу версию за рабочую, сейчас потестим, я отпишусь. Если вы действительно правы то просто огромное вам спасибо. /*прокручивая в голове события последних недель и сложив 2+2, эта версия кажется реальной...*/
0
да правильный ответ
0
Хостер банально ограничивает ресурсы.
И дело не в мощности сервера, в програмно выставленном ограничении на количество соединений за определенный промежуток времени(как правило, за час)
И дело не в мощности сервера, в програмно выставленном ограничении на количество соединений за определенный промежуток времени(как правило, за час)
+1
Как уже писали выше — просто логируй параметры подключения перед подключением.
имя пользователя
пароль
имя БД
По разным причинам они могут отличаться от начальных.
имя пользователя
пароль
имя БД
По разным причинам они могут отличаться от начальных.
0
Скажите, а зачем вам на тулбаре аж три кнопки, ведущих на gmail? :)
0
я видел такое. Проблемма в том, что у вас на этом сервере хостится кто-то кто имеет много коннекторв к базе. У базы есть ограничение на общее кол-во подключений единовремено (не уверен что есть ограничения по пользователям). В общем иногда они упираются в это ограничение. Меняйте сервер
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Чудеса на серверах.