1040 ошибка mysql
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

1040 ошибка mysql
Форум стал работать со сбоями, падает mysql, выдает ошибку 1040,
что может говорить о превышении лимита запросов.
Непонятно, откуда могут идти запросы?
От какого-то скрипта самого форума? Или все же большое количество внешних подключений (боты!),
что заметно по логам, хотя запросов не так много, в основном ломится некий Амазон-БОТ, по 20-30
запросов в минуту.
Сначала было так по утрам, а теперь постоянно.
В .htaccess вообще блокирую все боты, а так же все диапазоны IP откуда могут идти запросы.
Нагрузка уменьшается, но ошибка 1040 остается.
Что можно сделать?
что может говорить о превышении лимита запросов.
Непонятно, откуда могут идти запросы?
От какого-то скрипта самого форума? Или все же большое количество внешних подключений (боты!),
что заметно по логам, хотя запросов не так много, в основном ломится некий Амазон-БОТ, по 20-30
запросов в минуту.
Сначала было так по утрам, а теперь постоянно.
В .htaccess вообще блокирую все боты, а так же все диапазоны IP откуда могут идти запросы.
Нагрузка уменьшается, но ошибка 1040 остается.
Что можно сделать?
-
- Поддержка
- Сообщения: 12840
- Стаж: 14 лет 1 месяц
- Благодарил (а): 160 раз
- Поблагодарили: 2319 раз
Re: 1040 ошибка mysql
Увы, не помогает. Заблокировано все что можно, трафик почти нулевой, а ошибка 1040 остается.
-
- phpBB Guru
- Сообщения: 17030
- Стаж: 19 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 563 раза
- Поблагодарили: 1727 раз
Re: 1040 ошибка mysql
Чему равно
Какая версия phpBB? Версия MySQL?
Что менялось на сервере, после чего появилась ошибка?
max_connections
в настройках MySQL?Какая версия phpBB? Версия MySQL?
Что менялось на сервере, после чего появилась ошибка?
Re: 1040 ошибка mysql
phpBB 3.1.7-PL1rxu писал(а): 20.01.2025 17:13 Чему равно max_connections в настройках MySQL?,
Какая версия phpBB? Версия MySQL?
Что менялось на сервере, после чего появилась ошибка?
MySQL 5.0.90
И ничего вообще не менялось, началось с того, что в логах стало появляться большое количество запросов
с IP адресов Amazon, до 200-300 запросов в минуту.
В конфиге MySQL, в файле my.cnf вообще не было max_connections, но после наплыва ботов,
это первое что я сделал: поставил значение max_connections = 500, но это никак не помогло.
MySQL по прежнему то работает, то падает.
Дополнительно: если отключаю доступ на форум полностью в htaccess или на уровне виртуальных хостов Апач, то MySQl перестает падать!
-
- phpBB 1.4.4
- Сообщения: 136
- Стаж: 1 год 1 месяц
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 4 раза
Re: 1040 ошибка mysql
У меня тоже нашествие гостей.
Вот недавно рекорд был.
Больше всего посетителей (1418) здесь было Ср 15. янв 2025
Я бы посоветовал поставить последнюю версию форума. Последнюю версию php и последнюю версию msql
Вот недавно рекорд был.
Больше всего посетителей (1418) здесь было Ср 15. янв 2025
Я бы посоветовал поставить последнюю версию форума. Последнюю версию php и последнюю версию msql
Re: 1040 ошибка mysql
К сожалению в данное время это невозможно, так как последняя версия форума требует PHP7 или PHP8.Михаил Молчанов писал(а): 20.01.2025 20:31 Я бы посоветовал поставить последнюю версию форума. Последнюю версию php и последнюю версию msql
А сменить версию PHP нельзя, так как это потребует смены "железа" и операционной системы сервера.
Re: 1040 ошибка mysql
доброго времени суток, помогите решить проблему, которая я так понимаю лежит в той же плоскости что здесь описано:
в последние 3 дня увеличилось многократно кол-во гостей (счет идет на тысячи), в итоге форум замедлился, а потом и вовсе упал. Обратился к хостеру, тот выдал следующий вердикт
И пояснение от хостера: "Как видно из лога, наибольшая нагрузка создается двумя скриптами: viewforum.php и viewtopic.php. При этом основная нагрузка ложится на базу данных."
А также:
"Собрал лог медленных запросов к БД":
И пояснение: "Как видно, необходимо оптимизировать запросы к вашей БД."
А делее следующее сообщение:
"Мы обнаружили существенное превышение лимитов по нагрузке. Подробные графики по нагрузке.
В качестве экстренных мер по снижению нагрузки мы:
- Подключили механизм защиты через Cookie и Javascript, чтобы отсечь простых ботов
- Заблокировали POST-запросы к сайту.
Эти меры могут нарушить корректную работу сайта. Рекомендуем вам по-возможности найти причину повышенной нагрузки и устранить ее или обратиться в техническую поддержку для помощи."
Естественно ни я, ни пользователи теперь не могут зайти в свои аккаунты (ошибка 403).
Что можно сделать?
в последние 3 дня увеличилось многократно кол-во гостей (счет идет на тысячи), в итоге форум замедлился, а потом и вовсе упал. Обратился к хостеру, тот выдал следующий вердикт
Код: Выделить всё
Reading 2025-07-20...
Apache Access: Processing 431885 strings of Access Log...
PHP RUSAGE: No processing logs by reason: ##No data for this log##
Working...
Processed 431885 strings
Top 2 of 2 domains:
-------------------------------------------
431884 100.00% **********.beget.tech
1 0.00% www.**********.beget.tech
Top 5 of 370033 IPs:
-------------------------------------------
5586 1.29% 95.37.58.234 - Russian Federation, Mulino
3026 0.70% 95.26.65.33 - Russian Federation, Voskresensk
972 0.23% 212.90.62.163 - Ukraine, Kiev
449 0.10% 23.249.172.173 - United States, Los Angeles
372 0.09% 151.0.53.165 - Ukraine
Top 5 of 726 User-Agents:
-------------------------------------------
5624 1.30% Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 OPR/119.0.0.0
5610 1.30% Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
3026 0.70% Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 YaBrowser/25.6.0.0 Safari/537.36
2318 0.54% Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
2235 0.52% Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
Top 2 of 2 METHODs:
-------------------------------------------
426510 98.76% GET
5375 1.24% POST
Top 5 of 726 User-Agents:
-------------------------------------------
5624 1.30% Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 OPR/119.0.0.0
5610 1.30% Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
3026 0.70% Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 YaBrowser/25.6.0.0 Safari/537.36
2318 0.54% Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
2235 0.52% Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
Top 2 of 2 METHODs:
-------------------------------------------
426510 98.76% GET
5375 1.24% POST
Top 2 of 2 Dates:
-------------------------------------------
431879 100.00% 20 Jul 2025
6 0.00% 19 Jul 2025
Top 5 of 408032 Requests:
-------------------------------------------
4474 1.04% GET ***********.beget.tech/app.php/bb3topics_ajax?page=0&forum_id=&block_ids=0&options=
4142 0.96% POST *************.beget.tech/app.php/mchat/action/refresh
1091 0.25% POST *************.beget.tech/app.php/mchat/action/whois
222 0.05% GET **************.beget.tech/
180 0.04% GET **************.beget.tech/app.php/cron/cron.task.text_reparser.poll_option
Top CPers: (1695.466 total)
-------------------------------------------
848.539 **************.beget.tech/viewforum.php
416.712 **************.beget.tech/viewtopic.php
86.926 **************.beget.tech/memberlist.php
84.438 **************.beget.tech/search.php
80.732 **************.beget.tech/ucp.php
А также:
"Собрал лог медленных запросов к БД":
Код: Выделить всё
Logs: mysql-slow
Dates: [ 2025.07.21 ]
Database: *********_phpb4
# 15.5s user time, 1s system time, 40.98M rss, 47.90M vsz
# Current date: Mon Jul 21 05:35:14 2025
# Hostname: logstorage3
# Files: /dev/fd/63
# Overall: 70.42k total, 7 unique, 3.50 QPS, 21.92x concurrency __________
# Time range: 2025-07-20T20:59:56 to 2025-07-21T02:35:08
# Attribute total min max avg 95% stddev median
# ============ ======= ======= ======= ======= ======= ======= =======
# Exec time 440871s 2s 11s 6s 9s 2s 6s
# Lock time 3s 21us 2ms 40us 66us 16us 36us
# Rows sent 1.99M 0 414.86k 29.66 0.99 3.21k 0.99
# Rows examine 9.38G 101.84k 829.71k 139.71k 165.97k 21.83k 136.54k
# Rows affecte 415.73k 0 415.73k 6.05 0 1.51k 0
# Bytes sent 112.98M 14 22.83M 1.64k 65.89 184.07k 65.89
# Query size 8.60M 60 466 128.00 124.25 1.54 124.25
# Profile
# Rank Query ID Response time Calls R/Call V/M
# ==== ============================= ================== ===== ====== =====
# 1 0x21453BDE587FDC41171A8AE5... 440813.7410 100.0% 70405 6.2611 0.43 SELECT phpbb_sessions
# MISC 0xMISC 57.3648 0.0% 16 3.5853 0.0 <6 ITEMS>
# Query 1: 3.50 QPS, 21.92x concurrency, ID 0x21453BDE587FDC41171A8AE59C539C3C at byte 31070729
# This item is included in the report because it matches --limit.
# Scores: V/M = 0.43
# Time range: 2025-07-20T20:59:56 to 2025-07-21T02:35:08
# Attribute pct total min max avg 95% stddev median
# ============ === ======= ======= ======= ======= ======= ======= =======
# Count 99 70405
# Exec time 99 440814s 2s 11s 6s 9s 2s 6s
# Lock time 99 3s 21us 2ms 40us 66us 16us 36us
# Rows sent 3 68.75k 1 1 1 1 0 1
# Rows examine 99 9.38G 101.84k 175.96k 139.63k 165.97k 21.00k 136.54k
# Rows affecte 0 0 0 0 0 0 0 0
# Bytes sent 3 4.50M 67 67 67 67 0 67
# Query size 99 8.59M 128 128 128 128 0 128
# String:
# Databases ********_phpb4
# Hosts localhost
# Last errno 0
# Users *********_phpb4
# Query_time distribution
# 1us
# 10us
# 100us
# 1ms
# 10ms
# 100ms
# 1s ################################################################
# 10s+ #
# Tables
# SHOW TABLE STATUS FROM `*******_phpb4` LIKE 'phpbb_sessions'\G
# SHOW CREATE TABLE `********_phpb4`.`phpbb_sessions`\G
# EXPLAIN /*!50100 PARTITIONS*/
SELECT COUNT(session_id) AS sessions
FROM phpbb_sessions
WHERE session_user_id = 1
AND session_time >= 1753057628\G
А делее следующее сообщение:
"Мы обнаружили существенное превышение лимитов по нагрузке. Подробные графики по нагрузке.
В качестве экстренных мер по снижению нагрузки мы:
- Подключили механизм защиты через Cookie и Javascript, чтобы отсечь простых ботов
- Заблокировали POST-запросы к сайту.
Эти меры могут нарушить корректную работу сайта. Рекомендуем вам по-возможности найти причину повышенной нагрузки и устранить ее или обратиться в техническую поддержку для помощи."
Естественно ни я, ни пользователи теперь не могут зайти в свои аккаунты (ошибка 403).
Что можно сделать?
-
- phpBB Guru
- Сообщения: 17030
- Стаж: 19 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 563 раза
- Поблагодарили: 1727 раз
Re: 1040 ошибка mysql
При таком количестве запросов никакая оптимизация запросов к БД не поможет.
Согласно их же логам, 98,76% запросов - GET. Бессмыслица.
Заблокировать адреса или целые диапазоны, с которых происходит атака, например. На уровне сервера.
-
- phpBB 3.0.4
- Сообщения: 2224
- Стаж: 17 лет 8 месяцев
- Откуда: Павлодар
- Благодарил (а): 2 раза
- Поблагодарили: 121 раз
Re: 1040 ошибка mysql
Старая проблема с таблицей сессий.
Что обычно делаю:
1) прописываю всех ботов в администраторском разделе форума по user-agent
2) добавляю поле bigint с автоинкрементом в таблице sessions и назначаю его primary index. session_id делаю обычным индексом. Это решает проблемы с медленным добавлением записей в таблицу сессий.
3) анализирую лог медленных запросов и добавляю все возможные индексы в разных комбинациях. В данном случае я бы попробовал создать индекс по полям:
session_user_id, session_time, session_id
Что обычно делаю:
1) прописываю всех ботов в администраторском разделе форума по user-agent
2) добавляю поле bigint с автоинкрементом в таблице sessions и назначаю его primary index. session_id делаю обычным индексом. Это решает проблемы с медленным добавлением записей в таблицу сессий.
3) анализирую лог медленных запросов и добавляю все возможные индексы в разных комбинациях. В данном случае я бы попробовал создать индекс по полям:
session_user_id, session_time, session_id
Всё повторяется. nurlan.info
-
- phpBB Guru
- Сообщения: 17030
- Стаж: 19 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 563 раза
- Поблагодарили: 1727 раз
Re: 1040 ошибка mysql
Эти, по-моему, есть по умолчанию, отдельно каждый.nissin писал(а): 21.07.2025 20:52 я бы попробовал создать индекс по полям:
session_user_id, session_time, session_id
Насколько быстрее становится добавление записей? Может, в ядро это добавить.nissin писал(а): 21.07.2025 20:52 добавляю поле bigint с автоинкрементом в таблице sessions и назначаю его primary index. session_id делаю обычным индексом. Это решает проблемы с медленным добавлением записей в таблицу сессий.
-
- phpBB 3.0.0 RC2
- Сообщения: 1548
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 49 раз
- Поблагодарили: 77 раз
Re: 1040 ошибка mysql
Вы не сказали, что у вас за хостинг. Все это не проблема, если у вас виртуальный или выделеный серверAlnico писал(а): 20.01.2025 21:41 А сменить версию PHP нельзя, так как это потребует смены "железа" и операционной системы сервера.
.
-
- phpBB 3.0.4
- Сообщения: 2224
- Стаж: 17 лет 8 месяцев
- Откуда: Павлодар
- Благодарил (а): 2 раза
- Поблагодарили: 121 раз
Re: 1040 ошибка mysql
Нужно именно одним, он тогда пройдёт только по этому индексу без обращения к данным.rxu писал(а): 22.07.2025 4:23 я бы попробовал создать индекс по полям:
session_user_id, session_time, session_id
Эти, по-моему, есть по умолчанию, отдельно каждый.
В данном случае это именно оптимизация БД под конкретный запрос.
На таблице sessions в 500MB, мгновенное добавление(менее 1 ms) вместо секунд.rxu писал(а): 22.07.2025 4:23 Насколько быстрее становится добавление записей? Может, в ядро это добавить.
Там проблема из-за того что неудачно выбран PRIMARY INDEX и движок INNODB всю таблицу начинает всю таблицу перезаписывать при добавлении записи.
На маленьких таблицах это незаметно, но когда большой объем это вызывает проблему.
Всё повторяется. nurlan.info
-
- phpBB Guru
- Сообщения: 17030
- Стаж: 19 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 563 раза
- Поблагодарили: 1727 раз
Re: 1040 ошибка mysql
А почему, есть понимание? И session_id, и автоинкрементое поле оба уникальные, в чем разница при добавлении строк?
Или перезапись таблицы происходит в обоих случаях, но в варианте автоинкремента просто быстрее?
-
- phpBB 3.0.4
- Сообщения: 2224
- Стаж: 17 лет 8 месяцев
- Откуда: Павлодар
- Благодарил (а): 2 раза
- Поблагодарили: 121 раз
Re: 1040 ошибка mysql
INNODB хранит записи в таблице физически отсортированные по первичному ключу.rxu писал(а): 22.07.2025 16:56 А почему, есть понимание? И session_id, и автоинкрементое поле оба уникальные, в чем разница при добавлении строк?
Или перезапись таблицы происходит в обоих случаях, но в варианте автоинкремента просто быстрее?
Посколько session_id имеет случайное значение, то запись добавляется в середину таблицы, и вызывает её пересортировку.
Если поле автоинкрементное, то запись просто добавляется в конец таблицы, сортировка в этом случае не требуется.
Всё повторяется. nurlan.info