MariaDB 10.2.14 (Got timeout reading communication packets)

I am seen warning messages in my logs of MariaDB server. These are there, I have tried many things.

I have optimize and repair all of my databases but warning are still there.

2018-04-19 22:50:14 139673358411520 [Warning] Aborted connection 473891 to db: 'admin_******' user: 'admin_******' host: 'localhost' (Got timeout reading communication packets)

2018-04-19 22:52:43 139672739514112 [Warning] Aborted connection 474608 to db: 'admin_****** user: 'admin_****** host: 'localhost' (Got timeout reading communication packets)

2018-04-19 22:53:31 139672741635840 [Warning] Aborted connection 474834 to db: 'admin_******' user: 'admin_******' host: 'localhost' (Got timeout reading communication packets)

2018-04-19 22:54:16 139672739514112 [Warning] Aborted connection 475117 to db: 'admin_******' user: 'admin_******' host: 'localhost' (Got timeout reading communication packets)

2018-04-19 22:55:49 139672740726528 [Warning] Aborted connection 475696 to db: 'admin_******' user: 'admin_******' host: 'localhost' (Got timeout reading communication packets)

2018-04-19 22:55:53 139672740120320 [Warning] Aborted connection 475717 to db: 'admin_******ine' user: 'admin_******ine' host: 'localhost' (Got timeout reading communication packets)

2018-04-19 22:56:43 139673235744512 [Warning] Aborted connection 476011 to db: 'admin_******lin' user: 'admin_******lin' host: 'localhost' (Got timeout reading communication packets)

2018-04-19 22:56:57 139673235138304 [Warning] Aborted connection 476095 to db: 'admin_******ine' user: 'admin_******ine' host: 'localhost' (Got timeout reading communication packets)

2018-04-19 22:57:20 139672742545152 [Warning] Aborted connection 476186 to db: 'admin_****** user: 'admin_****** host: 'localhost' (Got timeout reading communication packets)

2018-04-19 22:57:51 139673235441408 [Warning] Aborted connection 476340 to db: 'admin_******ine' user: 'admin_******ine' host: 'localhost' (Got timeout reading communication packets)

My my.cnf

skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 500M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8

innodb_file_per_table

max_connections=500
wait_timeout=60
interactive_timeout=60
long_query_time=5

I am using CentOS 7 with 8 GB of RAM.

Can someone help me?

3
задан 19 April 2018 в 21:45
4 ответа

Решите эту проблему, прочитав https://mariadb.com/kb/en/library/upgrading-from-mariadb-101-to-mariadb-102/ веб-страница несовместимости. Проблема существовала в прошлых выпусках, потому что log_warnings по умолчанию используется равным 1, а теперь по умолчанию - 2.

Динамически установить global log_warnings = 1; и наблюдайте, как сообщения останавливаются почти сразу, сбрасываются до 2, и в течение 3-5 минут сообщения возобновляются.

Это объясняет, почему 10.2.14 они просто появляются, но настоящие проблемы, скорее всего, связаны с неправильной обработкой исключений приложения.

1
ответ дан 3 December 2019 в 07:22

. Предложения для рассмотрения в разделе my.cnf-ini [mysqld]

Начните с # или REMOVE, чтобы настройки по умолчанию работали на вас. . sort_buffer_size . read_buffer_size . read_rnd_buffer_size . thread_concurrency

измените эту глобальную переменную

thread_cache_size=100  # from 8 to reduce threads_created count
0
ответ дан 3 December 2019 в 07:22

У вас в настройках wait_timeout=60. Это означает, что соединения, которые простаивают в течение 60 секунд, прерываются. Увеличьте значение, чтобы устранить проблему.

Ссылка: https://mariadb.com/docs/reference/mdb/system-variables/wait_timeout/

1
ответ дан 8 September 2020 в 09:14

Я получил ту же ошибку, выполнив запрос, который вернул несколько строк, затем обработал эти строки с помощью rows.Next()(в Golang)и завершил работу раньше из-за несвязанной ошибки без вызова rows.Close(). Сбивало с толку то, что первые несколько раз он работал, но в конце концов дал сбой, указывая на то, что некоторые ресурсы (соединений?)были израсходованы.

Я смог воспользоваться оператором defer Голанга и просто выполнить

defer rows.Close()

перед вызовом rows.Next(), но вызывать rows.Close()перед каждым ранним выходом из цикл rows.Next()также работает.

-1
ответ дан 6 October 2021 в 14:29

Теги

Похожие вопросы