Назад | Перейти на главную страницу

mysql перестает отвечать в одно и то же время каждый день

Мой сервер отключается каждый день в одно и то же время. Я обнаружил, что проблема возникла из-за mysql.

Я попробовал показать список процессов; и обнаружил, что база данных переходит в спящий режим. Я видел, что в таблице log_url было так много вставок, как показано ниже.

mysql> show processlist;
+-------+---------------+-----------+------------------+---------+------+--------------+------------------------------------------------------------------------------------------------------+
| Id    | User          | Host      | db               | Command | Time | State        | Info                                                                                                 |
+-------+---------------+-----------+------------------+---------+------+--------------+------------------------------------------------------------------------------------------------------+
| 72962 | sonicsense_db | localhost | sonicsense_db    | Query   |    1 | Sending data | SELECT `log_url`.* FROM `log_url` LIMIT 2381 OFFSET 2992917                                          |
| 74069 | sonicsense_db | localhost | sonicsense_db    | Query   |    4 | Updating     | UPDATE `cron_schedule` SET `job_code` = 'captcha_delete_expired_images', `status` = 'error', `messag |
| 74073 | sonicsense_db | localhost | sonicsense_db    | Query   |   51 | update       | INSERT INTO `log_url` (`url_id`, `visitor_id`, `visit_time`) VALUES ('6528425', '4646727', '2013-08- |
| 74074 | sonicsense_db | localhost | sonicsense_wp_db | Sleep   |   52 |              | NULL                                                                                                 |
| 74077 | sonicsense_db | localhost | sonicsense_db    | Query   |   41 | update       | INSERT INTO `log_url` (`url_id`, `visitor_id`, `visit_time`) VALUES ('6528426', '4646728', '2013-08- |
| 74078 | sonicsense_db | localhost | sonicsense_wp_db | Sleep   |   42 |              | NULL                                                                                                 |
| 74079 | sonicsense_db | localhost | sonicsense_db    | Query   |   36 | update       | INSERT INTO `log_url` (`url_id`, `visitor_id`, `visit_time`) VALUES ('6528427', '4646729', '2013-08- |
| 74080 | sonicsense_db | localhost | sonicsense_wp_db | Sleep   |   37 |              | NULL                                                                                                 |
| 74081 | sonicsense_db | localhost | sonicsense_db    | Query   |   34 | update       | INSERT INTO `log_url` (`url_id`, `visitor_id`, `visit_time`) VALUES ('6528428', '4646730', '2013-08- |
| 74082 | sonicsense_db | localhost | sonicsense_db    | Query   |   31 | update       | INSERT INTO `log_url` (`url_id`, `visitor_id`, `visit_time`) VALUES ('6528429', '4646731', '2013-08- |
| 74084 | sonicsense_db | localhost | sonicsense_wp_db | Sleep   |   32 |              | NULL                                                                                                 |
| 74085 | sonicsense_db | localhost | sonicsense_db    | Query   |   30 | update       | INSERT INTO `log_url` (`url_id`, `visitor_id`, `visit_time`) VALUES ('6528430', '4646732', '2013-08- |
| 74086 | sonicsense_db | localhost | sonicsense_db    | Query   |   31 | Updating     | UPDATE `catalogsearch_query` SET `query_text` = 'PreSonus', `num_results` = '154', `popularity` = '3 |
| 74087 | sonicsense_db | localhost | sonicsense_wp_db | Sleep   |   31 |              | NULL                                                                                                 |
| 74088 | sonicsense_db | localhost | sonicsense_db    | Query   |   20 | update       | INSERT INTO `log_url` (`url_id`, `visitor_id`, `visit_time`) VALUES ('6528431', '4646734', '2013-08- |
| 74089 | sonicsense_db | localhost | sonicsense_wp_db | Sleep   |   20 |              | NULL                                                                                                 |
| 74090 | sonicsense_db | localhost | sonicsense_db    | Query   |   12 | update       | INSERT IGNORE INTO core_cache_tag (tag, cache_id) VALUES ('MAGE_cache_DEFAULT', 'MAGE_cache_LAYOUT_1 |
| 74091 | sonicsense_db | localhost | sonicsense_db    | Query   |   10 | update       | INSERT INTO `log_url` (`url_id`, `visitor_id`, `visit_time`) VALUES ('6528432', '4646736', '2013-08- |
| 74092 | sonicsense_db | localhost | sonicsense_wp_db | Sleep   |   11 |              | NULL                                                                                                 |
| 74093 | sonicsense_db | localhost | sonicsense_db    | Query   |    9 | update       | INSERT INTO `log_url` (`url_id`, `visitor_id`, `visit_time`) VALUES ('6528433', '4646737', '2013-08- |
| 74094 | sonicsense_db | localhost | sonicsense_wp_db | Sleep   |   10 |              | NULL                                                                                                 |
| 74095 | sonicsense_db | localhost | NULL             | Query   |    0 | NULL         | show processlist                                                                                     |
+-------+---------------+-----------+------------------+---------+------+--------------+------------------------------------------------------------------------------------------------------+

перезапуск mysql решает мою проблему. Как я могу определить, что вызывает такое количество вставок и почему моя база данных переходит в спящий режим.

Я также попытался заглянуть в журнал mysql и обнаружил ниже ошибку 1) возраст последней контрольной точки составляет 9433987, InnoDB: что превышает емкость группы журналов 9433498.

2) Не удалось использовать /var/log/mysql/mysql.log для ведения журнала (ошибка 2). Отключение выхода для всего

Я попробовал еще раз сегодня и нашел ниже базу данных в спящем режиме

63211   sonicsense_db   localhost       sonicsense_wp_db        Sleep   49              NULL
63215   sonicsense_db   localhost       sonicsense_wp_db        Sleep   37              NULL
63217   sonicsense_db   localhost       sonicsense_wp_db        Sleep   37              NULL
63219   sonicsense_db   localhost       sonicsense_wp_db        Sleep   36              NULL
63221   sonicsense_db   localhost       sonicsense_wp_db        Sleep   16              NULL

Кто-нибудь знает, как я могу исправить проблему сбоя сайта из-за mysql.

Я включил журнал медленных запросов и получил информацию ниже

/usr/libexec/mysqld, Version: 5.1.69-log (Source distribution). started with:
Tcp port: 0  Unix socket: /var/lib/mysql/mysql.sock
Time                 Id Command    Argument
/usr/libexec/mysqld, Version: 5.1.69-log (Source distribution). started with:
Tcp port: 0  Unix socket: /var/lib/mysql/mysql.sock
Time                 Id Command    Argument
/usr/libexec/mysqld, Version: 5.1.69-log (Source distribution). started with:
Tcp port: 0  Unix socket: /var/lib/mysql/mysql.sock
Time                 Id Command    Argument
/usr/libexec/mysqld, Version: 5.1.69-log (Source distribution). started with:
Tcp port: 0  Unix socket: /var/lib/mysql/mysql.sock
Time                 Id Command    Argument

Все еще не могу найти причину, по которой mysql перестает отвечать каждый день в одно и то же время

редактировать /etc/mysql/my.cnf конфигурации и добавить:

    log_slow_queries = /var/log/mysql/mysql-slow.log
    long_query_time  = 2

Первая строка включает журнал медленных запросов (не забудьте его повернуть), а вторая - о том, сколько секунд как минимум должен занять запрос, чтобы он считался медленным.

После включения этого параметра вы можете начать исследовать, какие запросы существенно замедляют работу вашего экземпляра MySQL.

Magento - это своего рода пожиратель ресурсов.

В любом случае, насколько я помню, есть плагины для Magento, которые оптимизируют не только сайт (PHP), но и фоновые процессы, такие как MySQL.

Я говорю это, потому что если это происходит каждый день в одно и то же время, тогда его Magento запускает запрос, а не проблема MySQL.

Лично я бы тоже

А:

1. Установите Magento с нуля на виртуальную машину

2: Создайте новую базу данных на этом сервере MySQL

3: Посмотрите, произойдет ли это

или B:

1: Клонировать эту установку Magento на виртуальную машину

2: Создайте новый сервер MySQL на виртуальной машине

3: Посмотрите, произойдет ли это

У меня есть ощущение, что это будет B, поскольку сам MySQL не выполняет никаких оптимизаций такого рода на складе. Хотя это может не решить вашу проблему, оно изолирует ее, если это проблема MySQL (маловероятно) или проблема Magento (скорее всего).

Если ни то, ни другое, Apache МОЖЕТ быть виновником, но это редко, так как это происходит в одно и то же время.