SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 15.05.2017 07:05:27

iknowka
Участник
Зарегистрирован: 15.05.2017
Сообщений: 10

Помогите решить ошибку

Здравствуйте! Ошибка в следующем, при попытки оставить коммент или зарегистрироватся на сайте, сайт подвисает на 5-10 сек после чего выскакивает ошибка:

MySQL error in file: /engine/modules/addcomments.php at line 83
Error Number: 2006
The Error returned was:
MySQL server has gone away
SQL query:

INSERT INTO dle_spam_log (ip, is_spammer, email, date) VALUES ('91.188.158.114','0', 'fsfsf@mail.ru', '1494818436')


MySQL error in file: /engine/modules/register.php at line 135
Error Number: 2006
The Error returned was:
MySQL server has gone away
SQL query:

INSERT INTO dle_spam_log (ip, is_spammer, date) VALUES ('91.188.158.114','0', '1494816981')

Неактивен

 

#2 15.05.2017 09:32:35

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Помогите решить ошибку

Посмотрите лог ошибок MySQL. В нем должна быть причина падения сервера.
Есть ли свободное место на диске?

Неактивен

 

#3 15.05.2017 11:37:13

iknowka
Участник
Зарегистрирован: 15.05.2017
Сообщений: 10

Re: Помогите решить ошибку

170514 20:32:02  InnoDB: Waiting for the background threads to start
170514 20:32:03 InnoDB: 5.5.56 started; log sequence number 2259226
170514 20:32:03 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
170514 20:32:03 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
170514 20:32:03 [Note] Server socket created on IP: '0.0.0.0'.
170514 20:32:06 [Note] Event Scheduler: Loaded 0 events
170514 20:32:06 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.56'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Server (GPL) by Remi
170514 20:58:42 [Note] Plugin 'FEDERATED' is disabled.
170514 20:58:43 InnoDB: The InnoDB memory heap is disabled
170514 20:58:43 InnoDB: Mutexes and rw_locks use GCC atomic builtins
170514 20:58:43 InnoDB: Compressed tables use zlib 1.2.3
170514 20:58:43 InnoDB: Using Linux native AIO
170514 20:58:44 InnoDB: Initializing buffer pool, size = 128.0M
170514 20:58:44 InnoDB: Completed initialization of buffer pool
170514 20:58:44 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
170514 20:58:44  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
170514 20:58:52  InnoDB: Waiting for the background threads to start
170514 20:58:53 InnoDB: 5.5.56 started; log sequence number 2259226
170514 20:58:53 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
170514 20:58:53 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
170514 20:58:53 [Note] Server socket created on IP: '0.0.0.0'.
170514 20:58:56 [Note] Event Scheduler: Loaded 0 events
170514 20:58:56 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.56'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Server (GPL) by Remi

вот что в логе

Неактивен

 

#4 15.05.2017 11:39:56

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Помогите решить ошибку

Всегда ли вставка в таблицу dle_spam_log приводит к крэшу? Сделайте
CHECK TABLE dle_spam_log;

Неактивен

 

#5 15.05.2017 11:45:11

iknowka
Участник
Зарегистрирован: 15.05.2017
Сообщений: 10

Re: Помогите решить ошибку

----------------------------+-------+----------+----------+
| Table                      | Op    | Msg_type | Msg_text |
+----------------------------+-------+----------+----------+
| iknow_imovies.dle_spam_log | check | status   | OK       |
+----------------------------+-------+----------+----------+
1 row in set (0.00 sec)

Неактивен

 

#6 15.05.2017 12:02:00

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Помогите решить ошибку

Точно перезапускается сервер, а вот является ли это следствием вставки, или просто попадает в нужные моменты, — непонятно. Я бы смотрел на то, что происходит на сервере в этот момент. Наиболее вероятная причина — нехватка памяти и out-of-memory-killer, который убивает процесс MySQL. Это должно быть видно в журналах сервера и на графиках. Также я бы посмотрел на журнал mysqld_safe, если MySQL запущен через него. Возможно, там что-то есть.

Неактивен

 

#7 15.05.2017 12:22:03

iknowka
Участник
Зарегистрирован: 15.05.2017
Сообщений: 10

Re: Помогите решить ошибку

А где можно посмотреть этот журнал? Я просто в этом деле неделю только.

Неактивен

 

#8 15.05.2017 18:03:26

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Помогите решить ошибку

Зависит от того, какая у Вас система. Судя по пути, у Вас какая-нибудь FreeBSD, под рукой у меня такой ОС нету, но, судя по интернету, логи лежат в /var/db/mysql/*.err. Также, возможно, стоит сделать

ps axu | grep mysqld_safe

взять оттуда pid процесса, а потом посмотреть на то, в какие логи он пишет:
lsof -p <pid>


Также, возможно, в dmesg будет полезная информация про убийство MySQL (если он и правда убивается из-за памяти).

Неактивен

 

#9 15.05.2017 18:50:35

iknowka
Участник
Зарегистрирован: 15.05.2017
Сообщений: 10

Re: Помогите решить ошибку

ОС Centos 6.8

Неактивен

 

#10 15.05.2017 19:08:08

iknowka
Участник
Зарегистрирован: 15.05.2017
Сообщений: 10

Re: Помогите решить ошибку

[root@localhost ~]# ps axu | grep mysqld_safe
root      1514  0.0  0.1 108324  1620 ?        S    20:15   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
root      4417  0.0  0.0 103332   868 pts/0    S+   21:07   0:00 grep mysqld_safe
[root@localhost ~]#

Неактивен

 

#11 16.05.2017 11:47:06

iknowka
Участник
Зарегистрирован: 15.05.2017
Сообщений: 10

Re: Помогите решить ошибку

вот что находится на 83 строке в addcomments.php
    $db->query( "INSERT INTO " . PREFIX . "_spam_log (ip, is_spammer, email, date) VALUES ('{$_IP}','0', '{$mail}', '{$_TIME}')" );

Неактивен

 

#12 17.05.2017 10:05:04

iknowka
Участник
Зарегистрирован: 15.05.2017
Сообщений: 10

Re: Помогите решить ошибку

Проблема решилась! Возникла новая, при комментирование выскакивает ошибка
MySQL error in file: /engine/modules/addcomments.php at line 552
Error Number: 2006
The Error returned was:
MySQL server has gone away
SQL query:

SELECT dle_users.user_id, dle_users.name, dle_users.email, dle_users.news_subscribe FROM dle_post_extras LEFT JOIN dle_users ON dle_post_extras.user_id=dle_users.user_id WHERE dle_post_extras.news_id='563'

но сам коммент публикуется

Неактивен

 

#13 17.05.2017 10:30:05

iknowka
Участник
Зарегистрирован: 15.05.2017
Сообщений: 10

Re: Помогите решить ошибку

Это стало происходить после команды grants all privileges on *.* to пользовательдбазы; и grants all privileges on *.* to пользовательдбазы@localhost;

Неактивен

 

#14 17.05.2017 10:45:04

iknowka
Участник
Зарегистрирован: 15.05.2017
Сообщений: 10

Re: Помогите решить ошибку

А всё решился вопрос) Спасибо всем кто откликнулся!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson