За последние 24 часа нас посетили 5445 программистов и 676 роботов. Сейчас ищет 241 программист ...

MySQL server has gone away

Тема в разделе "PHP для новичков", создана пользователем webog, 11 янв 2019.

Метки:
  1. webog

    webog Активный пользователь

    С нами с:
    13 май 2014
    Сообщения:
    216
    Симпатии:
    3
    Всем добра!

    Очень сильно надоедает ошибка. Гуглил, сам боролся - не решил.
    Подскажите пожалуйста, что еще можно сделать!?

    Больше информации нет.
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    1.474
    Симпатии:
    308
    Адрес:
    Татарстан
    говорит что сервер БД не отвечает ... скорее всего ограничения на одновременные соединения или еще что в таком роде
    ...
    чес говоря удивлен что в популярном движке используется mysqli_real_connect .... чего им простого коннекта недостаточно
     
    webog нравится это.
  3. webog

    webog Активный пользователь

    С нами с:
    13 май 2014
    Сообщения:
    216
    Симпатии:
    3
    Ну да. Стоит на VPS, где 1Гб ОЗУ, типо мало.

    Вопрос: как бороться? Кроме как ОЗУ добавить.

    Дело в том, что на обычном виртуальном хостинге работает, летает. И не такие нагрузки выдерживало.
     
  4. nospiou

    nospiou Активный пользователь

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    508
    Говорит что сервер упал.. Правь my.cnf ну и файл подкачки если из за оперативки
     
    webog нравится это.
  5. webog

    webog Активный пользователь

    С нами с:
    13 май 2014
    Сообщения:
    216
    Симпатии:
    3
    Как? Что еще туда вписать? )

    swap 1Гб стоит
     
  6. nospiou

    nospiou Активный пользователь

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    508
  7. webog

    webog Активный пользователь

    С нами с:
    13 май 2014
    Сообщения:
    216
    Симпатии:
    3
    Перечитал тысячи таких. По их данным падает еще чаще сервер. + у меня не вордПресс + у меня не 512 Мб ОЗУ

    Мой конфиг:
    Код (Text):
    1. # For advice on how to change settings please see
    2. # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
    3.  
    4. [mysqld]
    5. collation-server = utf8_general_ci
    6. character-set-server = utf8
    7. local-infile=0
    8. innodb_file_per_table = 1
    9. pid-file = /var/lib/mysqld/mysqld.pid
    10. #
    11. # Remove leading # and set to the amount of RAM for the most important data
    12. # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
    13. # innodb_buffer_pool_size = 128M
    14. #
    15. # Remove leading # to turn on a very important data integrity option: logging
    16. # changes to the binary log between backups.
    17. # log_bin
    18. #
    19. # Remove leading # to set options mainly useful for reporting servers.
    20. # The server defaults are faster for transactions and fast SELECTs.
    21. # Adjust sizes as needed, experiment to find the optimal values.
    22. # join_buffer_size = 128M
    23. # sort_buffer_size = 2M
    24. # read_rnd_buffer_size = 2M
    25. datadir=/var/lib/mysql
    26. socket=/var/lib/mysql/mysql.sock
    27.  
    28. # Disabling symbolic-links is recommended to prevent assorted security risks
    29. symbolic-links=0
    30.  
    31. log-error=/var/log/mysqld.log
    32. bind-address = ::
    33. max-connections = 50
    34. max-user-connections = 100
    35. max-connect-errors = 1000
    36. max-allowed-packet = 128M
    37. innodb-buffer-pool-size = 64M
    38. innodb-flush-log-at-trx-commit = 0
    39. innodb-flush-method = O_DIRECT
    40. transaction-isolation = READ-COMMITTED
    41. innodb-buffer-pool-instances = 1
    42. innodb-file-per-table = 1
    43. max-heap-table-size = 16M
    44. tmp-table-size = 16M
    45. table-definition-cache = 4096
    46. table-open-cache = 4096
    47. query-cache-size = 64M
    48. query-cache-limit = 1M
    49. thread-cache-size = 32
    50. key-buffer-size = 64M
    51. optimizer-search-depth = 8
    52. join-buffer-size = 1M
    53.  
    54. pid-file=/var/run/mysqld/mysqld.pid
    55.  
    56. [mysqld]
    57. sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

    Как видно выкручено на максимум.
     
  8. nospiou

    nospiou Активный пользователь

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    508
    webog нравится это.
  9. webog

    webog Активный пользователь

    С нами с:
    13 май 2014
    Сообщения:
    216
    Симпатии:
    3
    Вот это ХЗ. Поддержка хостинга делала правки. Я тоже заметил.
    Стоит centos + ISP Manager
     
  10. webog

    webog Активный пользователь

    С нами с:
    13 май 2014
    Сообщения:
    216
    Симпатии:
    3
    @nospiou соппорт ответил:

     
  11. nospiou

    nospiou Активный пользователь

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    508
    Ну смотри логи что именно провоцирует падение tail -f /var/log/mysqld.log если верить конфигу. Это происходит всегда или при выполнении определенного скрипта? wait_timeout innodb_log_file_size установи
    --- Добавлено ---
    Кстати.. вот можно прикрутить отлавливать ошибки https://sentry.io или по логам php и сервера
     
    webog нравится это.
  12. webog

    webog Активный пользователь

    С нами с:
    13 май 2014
    Сообщения:
    216
    Симпатии:
    3
    Выдало:

    Код (Text):
    1. 2019-01-11T17:12:38.083307Z 54642 [Note] Access denied for user 'root'@'localhos                       t' (using password: YES)
    2. 2019-01-11T17:12:38.568428Z 54644 [Note] Access denied for user 'root'@'localhos                       t' (using password: YES)
    3. 2019-01-11T18:01:08.921095Z 55975 [Warning] IP address '196.52.43.105' could not                        be resolved: Name or service not known
    4. 2019-01-11T18:59:12.808469Z 57611 [Warning] IP address '117.40.196.91' could not                        be resolved: Name or service not known
    5. 2019-01-11T19:05:00.659919Z 57790 [Warning] IP address '219.150.218.37' could no                       t be resolved: Name or service not known
    6. 2019-01-12T04:56:20.063093Z 72400 [Warning] IP address '164.52.24.170' could not                        be resolved: Name or service not known
    7. 2019-01-12T04:56:26.033863Z 72402 [Warning] IP address '164.52.24.170' could not                        be resolved: Name or service not known
    8. 2019-01-12T06:31:02.682996Z 74690 [Note] Aborted connection 74690 to db: 'admin_                       urlshotik' user: 'admin_urlshotik' host: 'localhost' (Got an error reading commu                       nication packets)
    9. 2019-01-12T09:14:30.819251Z 80153 [Warning] Host name 'host112-169-213-188.serve                       rdedicati.aruba.it' could not be resolved: Name or service not known
    10. 2019-01-12T09:54:07.044285Z 81420 [Warning] IP address '39.109.123.31' could not                        be resolved: Name or service not known
     
  13. nospiou

    nospiou Активный пользователь

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    508
    те ошибки что есть устраняются skip_name_resolve а почему падает наверное где то выше а может вообще нету. yum install mc && mcedit /var/log/mysqld.log это так что б с vim не связываться) Переменные все установи по последней ссылки особенно wait
     
    webog нравится это.
  14. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.730
    Симпатии:
    621
    Код (Text):
    1. mysql -u USER -p
    2. show variables like "wait_timeout";
    3. show variables like "interactive_timeout";
    4. quit;
    ?
     
    webog нравится это.
  15. webog

    webog Активный пользователь

    С нами с:
    13 май 2014
    Сообщения:
    216
    Симпатии:
    3
    Тут не понятно.

    Скачал лог с сервера, 13Мб (за последние три дня). Вот что попало на глаза:

    Код (Text):
    1. Line 123749: 2019-01-09T16:01:18.748497Z 0 [Warning] Changed limits: max_open_files: 5000 (requested 8252)
    И сделал поиск именно Warning по логу:

    Код (Text):
    1.     Line 123649: 2019-01-09T08:39:14.498774Z 20802 [Warning] IP address '89.248.162.177' could not be resolved: Name or service not known
    2.     Line 123650: 2019-01-09T10:32:26.998498Z 0 [Warning] Changed limits: max_open_files: 5000 (requested 8252)
    3.     Line 123651: 2019-01-09T10:32:26.998761Z 0 [Warning] Changed limits: table_open_cache: 2470 (requested 4096)
    4.     Line 123652: 2019-01-09T10:32:27.235457Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    5.     Line 123681: 2019-01-09T10:32:27.724501Z 0 [Warning] CA certificate ca.pem is self signed.
    6.     Line 123689: 2019-01-09T11:33:56.000665Z 1679 [Warning] IP address '85.93.20.38' could not be resolved: Name or service not known
    7.     Line 123690: 2019-01-09T12:56:48.095461Z 3830 [Warning] IP address '27.124.17.108' could not be resolved: Name or service not known
    8.     Line 123694: 2019-01-09T16:01:15.471118Z 0 [Warning] /usr/sbin/mysqld: Forcing close of thread 8679  user: 'root'
    9.     Line 123749: 2019-01-09T16:01:18.748497Z 0 [Warning] Changed limits: max_open_files: 5000 (requested 8252)
    10.     Line 123750: 2019-01-09T16:01:18.748782Z 0 [Warning] Changed limits: table_open_cache: 2470 (requested 4096)
    11.     Line 123751: 2019-01-09T16:01:19.001794Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    12.     Line 123775: 2019-01-09T16:01:19.240377Z 0 [Warning] CA certificate ca.pem is self signed.
    13.     Line 123783: 2019-01-09T16:08:07.259027Z 229 [Warning] IP address '85.93.20.38' could not be resolved: Name or service not known
    14.     Line 124336: 2019-01-09T17:49:55.008948Z 3483 [Warning] IP address '196.52.43.59' could not be resolved: Name or service not known
    15.     Line 124889: 2019-01-10T04:38:28.937423Z 0 [Warning] Changed limits: max_open_files: 5000 (requested 8252)
    16.     Line 124890: 2019-01-10T04:38:28.937718Z 0 [Warning] Changed limits: table_open_cache: 2470 (requested 4096)
    17.     Line 124891: 2019-01-10T04:38:29.136727Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    18.     Line 124920: 2019-01-10T04:38:29.731304Z 0 [Warning] CA certificate ca.pem is self signed.
    19.     Line 124928: 2019-01-10T08:44:41.253602Z 6117 [Warning] IP address '85.93.20.38' could not be resolved: Name or service not known
    20.     Line 124929: 2019-01-10T10:21:10.503090Z 8326 [Warning] IP address '211.218.126.142' could not be resolved: Name or service not known
    21.     Line 124930: 2019-01-10T10:37:28.467816Z 8802 [Warning] IP address '89.35.39.148' could not be resolved: Name or service not known
    22.     Line 124931: 2019-01-10T14:00:17.231345Z 14073 [Warning] IP address '81.17.29.154' could not be resolved: Name or service not known
    23.     Line 124932: 2019-01-10T20:36:40.521530Z 23677 [Warning] Hostname 'zg-1210g-20.stretchoid.com' does not resolve to '104.131.133.158'.
    24.     Line 124939: 2019-01-11T07:10:50.887384Z 37646 [Warning] IP address '88.214.26.17' could not be resolved: Name or service not known
    25.     Line 124940: 2019-01-11T07:10:51.066544Z 37647 [Warning] IP address '88.214.26.18' could not be resolved: Name or service not known
    26.     Line 124941: 2019-01-11T07:10:51.252881Z 37648 [Warning] IP address '88.214.26.19' could not be resolved: Name or service not known
    27.     Line 124942: 2019-01-11T07:10:51.430906Z 37649 [Warning] IP address '88.214.26.20' could not be resolved: Name or service not known
    28.     Line 124943: 2019-01-11T07:10:51.615054Z 37650 [Warning] IP address '88.214.26.39' could not be resolved: Name or service not known
    29.     Line 124944: 2019-01-11T07:10:51.792684Z 37651 [Warning] IP address '88.214.26.40' could not be resolved: Name or service not known
    30.     Line 124946: 2019-01-11T10:51:25.105455Z 43015 [Warning] IP address '194.147.32.50' could not be resolved: Name or service not known
    31.     Line 124947: 2019-01-11T12:04:11.626662Z 44847 [Warning] IP address '185.255.31.2' could not be resolved: Name or service not known
    32.     Line 125500: 2019-01-11T18:01:08.921095Z 55975 [Warning] IP address '196.52.43.105' could not be resolved: Name or service not known
    33.     Line 125501: 2019-01-11T18:59:12.808469Z 57611 [Warning] IP address '117.40.196.91' could not be resolved: Name or service not known
    34.     Line 125502: 2019-01-11T19:05:00.659919Z 57790 [Warning] IP address '219.150.218.37' could not be resolved: Name or service not known
    35.     Line 125503: 2019-01-12T04:56:20.063093Z 72400 [Warning] IP address '164.52.24.170' could not be resolved: Name or service not known
    36.     Line 125504: 2019-01-12T04:56:26.033863Z 72402 [Warning] IP address '164.52.24.170' could not be resolved: Name or service not known
    37.     Line 125506: 2019-01-12T09:14:30.819251Z 80153 [Warning] Host name 'host112-169-213-188.serverdedicati.aruba.it' could not be resolved: Name or service not known
    38.     Line 125507: 2019-01-12T09:54:07.044285Z 81420 [Warning] IP address '39.109.123.31' could not be resolved: Name or service not known
     
  16. nospiou

    nospiou Активный пользователь

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    508
    Даже @romach об этом уже маякует. Ну и кстати тебе точно нужно открывать бд для мира? Я б закрыл.
     
    webog нравится это.
  17. webog

    webog Активный пользователь

    С нами с:
    13 май 2014
    Сообщения:
    216
    Симпатии:
    3
    Код (Text):
    1. mysql> show variables like "wait_timeout";
    2. +---------------+-------+
    3. | Variable_name | Value |
    4. +---------------+-------+
    5. | wait_timeout  | 28800 |
    6. +---------------+-------+
    7. 1 row in set (0.00 sec)
    8.  
    9. mysql> show variables like "interactive_timeout";
    10. +---------------------+-------+
    11. | Variable_name       | Value |
    12. +---------------------+-------+
    13. | interactive_timeout | 28800 |
    14. +---------------------+-------+
    15. 1 row in set (0.01 sec)
    16.  
    17. mysql> quit;
    18. Bye
    --- Добавлено ---
    Парни, я не особо в теме :( Только учусь!
    --- Добавлено ---
    Я б тоже, видимо. Как? :)
     
  18. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.730
    Симпатии:
    621
    webog нравится это.
  19. webog

    webog Активный пользователь

    С нами с:
    13 май 2014
    Сообщения:
    216
    Симпатии:
    3
    Оно?

    --- Добавлено ---
    Сейчас: 1048576 это 1,048576 Мб

    Сколько поставить?
     
  20. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.730
    Симпатии:
    621
    webog нравится это.
  21. webog

    webog Активный пользователь

    С нами с:
    13 май 2014
    Сообщения:
    216
    Симпатии:
    3
    Уверен? Это же меньше 1 Мб и меньше чем по умолчанию.

    Сделал пока по инструкции по ссылке, но не было файла /etc/security/limits.d/90-nproc.conf создал. Был 20-nproc.conf

    ulimit -u показал 3787

    ulimit -a:

    Код (Text):
    1. core file size          (blocks, -c) 0
    2. data seg size           (kbytes, -d) unlimited
    3. scheduling priority             (-e) 0
    4. file size               (blocks, -f) unlimited
    5. pending signals                 (-i) 3787
    6. max locked memory       (kbytes, -l) 64
    7. max memory size         (kbytes, -m) unlimited
    8. open files                      (-n) 1024
    9. pipe size            (512 bytes, -p) 8
    10. POSIX message queues     (bytes, -q) 819200
    11. real-time priority              (-r) 0
    12. stack size              (kbytes, -s) 8192
    13. cpu time               (seconds, -t) unlimited
    14. max user processes              (-u) 3787
    15. virtual memory          (kbytes, -v) unlimited
    16. file locks                      (-x) unlimited
     
  22. nospiou

    nospiou Активный пользователь

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    508
    bind-address = 127.0.0.1 или фаервол
    А по сабжу нужно искать скрипт который вызывает ошибку возможно ему действительно нужно намного больше всего.
    --- Добавлено ---
    Если там большой цикл и нужно длинное соединение есть https://php.ru/manual/mysqli.ping.html
     
    webog нравится это.
  23. webog

    webog Активный пользователь

    С нами с:
    13 май 2014
    Сообщения:
    216
    Симпатии:
    3
    Так а как?

    Движок vBulletin, неужели криворукие писали его?

    Я пытался сделать подключение к базе типо Singleton'а, но что-то разницы нет.
     
  24. nospiou

    nospiou Активный пользователь

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    508
    Ну ты же как то увидел эту ошибку. Вот на форуме пишет что прям в отчетах на емейл прилетает при резервном копировании где нужно намного больше твоих установленных 28 секунд https://www.vbulletin.org/forum/showthread.php?t=300317
    --- Добавлено ---
    А где ты видел не криворуких пихапишников?:)
    --- Добавлено ---
    Наверное еще и старая версия движка?
    --- Добавлено ---
    Оказывается 28800 это секунд 8 часов возможно ты сам закрываешь соединение в скрипте при определенных условиях какой то корявый плагин это делает. Ну или еще больше увеличь размер пакета хотя куда уж больше. Кто его знает. Искать причину и смотреть логи. Вообще при ошибке сервер должен отдавать 500 страницу как минимум можно посмотреть при каком запросе. Нужно больше инфы
     
  25. webog

    webog Активный пользователь

    С нами с:
    13 май 2014
    Сообщения:
    216
    Симпатии:
    3
    Думаешь в этом проблема?
    vBulletin 3.8.7 Patch Level 2

    Прошуршал по файлам, нет закрытия.

    Ну на почту падает мне + дублирование в логи сделал errorlogdatabase.log
    Ошибка с почты в шапке. Хз где еще и что искать...