SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 20.09.2010 23:19:26

STork
Участник
Зарегистрирован: 20.09.2010
Сообщений: 7

Mysql has gone away

Описание системы 2 бэкенда + сервер разработки(серверная часть написано на perl, FastCGI по 5 процессов на сервере - т.е. по 5 коннектов к каждой БД) + 2 сервера БД (master и log) репликации нет, просто логи все улетают на лог сервер - на мастере основная БД. Нагрузки нет никакой, БД маленькая, проект в стадии "пред-стартапа". Год всё работало без нареканий, пару раз были ошибки из серии Lost connection - но это фарвол веселился. Далее БД сервера никто не трогал не конфигурил не перезапускал, как стали появляться ошибки Mysql server has gone away довольно часто, wait_timeout=28800 и interactive_timeout ничего не дали. Вспомнить что программировали за это время невозможно. Как опознать из-за чего это происходит...

Я предполагаю 2 варианта, либо коннекты рвет файрволл например. Либо из-за каких-то запросов мускуль обрывает соединения. сам мускуль не падает.

mysql> show variables;
+---------------------------------+------------------------------------+
| Variable_name                   | Value                              |
+---------------------------------+------------------------------------+
| auto_increment_increment        | 1                                  |
| auto_increment_offset           | 1                                  |
| automatic_sp_privileges         | ON                                 |
| back_log                        | 50                                 |
| basedir                         | /                                  |
| binlog_cache_size               | 32768                              |
| bulk_insert_buffer_size         | 8388608                            |
| character_set_client            | latin1                             |
| character_set_connection        | latin1                             |
| character_set_database          | utf8                               |
| character_set_filesystem        | binary                             |
| character_set_results           | latin1                             |
| character_set_server            | utf8                               |
| character_set_system            | utf8                               |
| character_sets_dir              | /usr/share/mysql/charsets/         |
| collation_connection            | latin1_swedish_ci                  |
| collation_database              | utf8_general_ci                    |
| collation_server                | utf8_general_ci                    |
| completion_type                 | 0                                  |
| concurrent_insert               | 1                                  |
| connect_timeout                 | 600                                |
| datadir                         | /var/lib/mysql/                    |
| date_format                     | %Y-%m-%d                           |
| datetime_format                 | %Y-%m-%d %H:%i:%s                  |
| default_week_format             | 0                                  |
| delay_key_write                 | ON                                 |
| delayed_insert_limit            | 100                                |
| delayed_insert_timeout          | 300                                |
| delayed_queue_size              | 1000                               |
| div_precision_increment         | 4                                  |
| keep_files_on_create            | OFF                                |
| engine_condition_pushdown       | OFF                                |
| expire_logs_days                | 0                                  |
| flush                           | OFF                                |
| flush_time                      | 0                                  |
| ft_boolean_syntax               | + -><()~*:""&|                     |
| ft_max_word_len                 | 84                                 |
| ft_min_word_len                 | 4                                  |
| ft_query_expansion_limit        | 20                                 |
| ft_stopword_file                | (built-in)                         |
| group_concat_max_len            | 1024                               |
| have_archive                    | YES                                |
| have_bdb                        | NO                                 |
| have_blackhole_engine           | YES                                |
| have_compress                   | YES                                |
| have_crypt                      | YES                                |
| have_csv                        | YES                                |
| have_sphinx                     | YES                                |
| have_dynamic_loading            | YES                                |
| have_example_engine             | NO                                 |
| have_federated_engine           | YES                                |
| have_geometry                   | YES                                |
| have_innodb                     | DISABLED                           |
| have_isam                       | NO                                 |
| have_merge_engine               | YES                                |
| have_ndbcluster                 | NO                                 |
| have_openssl                    | DISABLED                           |
| have_ssl                        | DISABLED                           |
| have_query_cache                | YES                                |
| have_raid                       | NO                                 |
| have_rtree_keys                 | YES                                |
| have_symlink                    | YES                                |
| hostname                        | mdb.hoppenia.ru                    |
| init_connect                    | SET NAMES utf8                     |
| init_file                       |                                    |
| init_slave                      |                                    |
| innodb_additional_mem_pool_size | 1048576                            |
| innodb_autoextend_increment     | 8                                  |
| innodb_buffer_pool_awe_mem_mb   | 0                                  |
| innodb_buffer_pool_size         | 8388608                            |
| innodb_checksums                | ON                                 |
| innodb_commit_concurrency       | 0                                  |
| innodb_concurrency_tickets      | 500                                |
| innodb_data_file_path           |                                    |
| innodb_data_home_dir            |                                    |
| innodb_adaptive_hash_index      | ON                                 |
| innodb_doublewrite              | ON                                 |
| innodb_fast_shutdown            | 1                                  |
| innodb_file_io_threads          | 4                                  |
| innodb_file_per_table           | OFF                                |
| innodb_flush_log_at_trx_commit  | 1                                  |
| innodb_show_locks_held          | 10                                 |
| innodb_show_verbose_locks       | 0                                  |
| innodb_flush_method             |                                    |
| innodb_force_recovery           | 0                                  |
| innodb_lock_wait_timeout        | 50                                 |
| innodb_locks_unsafe_for_binlog  | OFF                                |
| innodb_log_arch_dir             |                                    |
| innodb_log_archive              | OFF                                |
| innodb_log_buffer_size          | 1048576                            |
| innodb_log_file_size            | 5242880                            |
| innodb_log_files_in_group       | 2                                  |
| innodb_log_group_home_dir       |                                    |
| innodb_max_dirty_pages_pct      | 90                                 |
| innodb_max_purge_lag            | 0                                  |
| innodb_mirrored_log_groups      | 1                                  |
| innodb_open_files               | 300                                |
| innodb_rollback_on_timeout      | OFF                                |
| innodb_support_xa               | ON                                 |
| innodb_sync_spin_loops          | 20                                 |
| innodb_table_locks              | ON                                 |
| innodb_thread_concurrency       | 8                                  |
| innodb_thread_sleep_delay       | 10000                              |
| innodb_io_capacity              | 100                                |
| innodb_ibuf_max_size            | 9223372036854775807                |
| innodb_ibuf_active_contract     | 0                                  |
| innodb_ibuf_accel_rate          | 100                                |
| innodb_flush_neighbor_pages     | 1                                  |
| innodb_read_ahead               | both                               |
| innodb_adaptive_checkpoint      | 0                                  |
| innodb_read_io_threads          | 1                                  |
| innodb_write_io_threads         | 1                                  |
| innodb_dict_size_limit          | 0                                  |
| innodb_io_pattern_trace         | 0                                  |
| innodb_io_pattern_trace_running | 0                                  |
| innodb_io_pattern_size_limit    | 0                                  |
| interactive_timeout             | 28800                              |
| join_buffer_size                | 131072                             |
| key_buffer_size                 | 268435456                          |
| key_cache_age_threshold         | 300                                |
| key_cache_block_size            | 1024                               |
| key_cache_division_limit        | 100                                |
| language                        | /usr/share/mysql/english/          |
| large_files_support             | ON                                 |
| large_page_size                 | 0                                  |
| large_pages                     | OFF                                |
| lc_time_names                   | en_US                              |
| license                         | GPL                                |
| local_infile                    | OFF                                |
| locked_in_memory                | OFF                                |
| log                             | OFF                                |
| log_bin                         | OFF                                |
| log_bin_trust_function_creators | OFF                                |
| log_error                       |                                    |
| log_queries_not_using_indexes   | OFF                                |
| log_slave_updates               | OFF                                |
| log_slow_queries                | ON                                 |
| log_slow_filter                 |                                    |
| log_slow_rate_limit             | 1                                  |
| log_slow_verbosity              | microtime                          |
| log_warnings                    | 1                                  |
| long_query_time                 | 5.000000                           |
| low_priority_updates            | OFF                                |
| lower_case_file_system          | OFF                                |
| lower_case_table_names          | 0                                  |
| max_allowed_packet              | 268435456                          |
| max_binlog_cache_size           | 18446744073709547520               |
| max_binlog_size                 | 1073741824                         |
| max_connect_errors              | 10                                 |
| max_connections                 | 2048                               |
| max_delayed_threads             | 20                                 |
| max_error_count                 | 64                                 |
| max_heap_table_size             | 16777216                           |
| max_insert_delayed_threads      | 20                                 |
| max_join_size                   | 18446744073709551615               |
| max_length_for_sort_data        | 1024                               |
| max_prepared_stmt_count         | 16382                              |
| max_relay_log_size              | 0                                  |
| max_seeks_for_key               | 18446744073709551615               |
| max_sort_length                 | 1024                               |
| max_sp_recursion_depth          | 0                                  |
| max_tmp_tables                  | 32                                 |
| max_user_connections            | 1024                               |
| max_write_lock_count            | 18446744073709551615               |
| min_examined_row_limit          | 0                                  |
| multi_range_count               | 256                                |
| myisam_data_pointer_size        | 6                                  |
| myisam_max_sort_file_size       | 9223372036853727232                |
| myisam_recover_options          | OFF                                |
| myisam_repair_threads           | 1                                  |
| myisam_sort_buffer_size         | 134217728                          |
| myisam_stats_method             | nulls_unequal                      |
| net_buffer_length               | 16384                              |
| net_read_timeout                | 30                                 |
| net_retry_count                 | 10                                 |
| net_write_timeout               | 60                                 |
| new                             | OFF                                |
| old_passwords                   | OFF                                |
| open_files_limit                | 10240                              |
| optimizer_prune_level           | 1                                  |
| optimizer_search_depth          | 62                                 |
| pid_file                        | /var/lib/mysql/mdb.hoppenia.ru.pid |
| plugin_dir                      |                                    |
| port                            | 3306                               |
| preload_buffer_size             | 32768                              |
| profiling                       | OFF                                |
| profiling_history_size          | 15                                 |
| protocol_version                | 10                                 |
| query_alloc_block_size          | 8192                               |
| query_cache_limit               | 67108864                           |
| query_cache_min_res_unit        | 4096                               |
| query_cache_size                | 67108864                           |
| query_cache_type                | ON                                 |
| query_cache_wlock_invalidate    | OFF                                |
| query_prealloc_size             | 8192                               |
| range_alloc_block_size          | 4096                               |
| read_buffer_size                | 4194304                            |
| read_only                       | OFF                                |
| read_rnd_buffer_size            | 4194304                            |
| relay_log                       |                                    |
| relay_log_index                 |                                    |
| relay_log_info_file             | relay-log.info                     |
| relay_log_purge                 | ON                                 |
| relay_log_space_limit           | 0                                  |
| rpl_recovery_rank               | 0                                  |
| rpl_mirror_binlog_enabled       | OFF                                |
| secure_auth                     | OFF                                |
| secure_file_priv                |                                    |
| server_id                       | 1                                  |
| skip_external_locking           | ON                                 |
| skip_networking                 | OFF                                |
| skip_show_database              | OFF                                |
| slave_compressed_protocol       | OFF                                |
| slave_load_tmpdir               | /tmp/                              |
| slave_net_timeout               | 3600                               |
| slave_skip_errors               | OFF                                |
| slave_transaction_retries       | 10                                 |
| slow_launch_time                | 2                                  |
| slow_query_log                  | ON                                 |
| slow_query_log_file             |                                    |
| socket                          | /var/lib/mysql/mysql.sock          |
| sort_buffer_size                | 4194304                            |
| sql_big_selects                 | ON                                 |
| sql_mode                        |                                    |
| sql_notes                       | ON                                 |
| sql_warnings                    | OFF                                |
| ssl_ca                          |                                    |
| ssl_capath                      |                                    |
| ssl_cert                        |                                    |
| ssl_cipher                      |                                    |
| ssl_key                         |                                    |
| storage_engine                  | MyISAM                             |
| sync_binlog                     | 0                                  |
| sync_frm                        | ON                                 |
| system_time_zone                | MSD                                |
| table_cache                     | 1024                               |
| table_lock_wait_timeout         | 50                                 |
| table_type                      | MyISAM                             |
| thread_cache_size               | 8                                  |
| thread_stack                    | 262144                             |
| time_format                     | %H:%i:%s                           |
| time_zone                       | SYSTEM                             |
| timed_mutexes                   | OFF                                |
| tmp_table_size                  | 33554432                           |
| tmpdir                          | /tmp/                              |
| transaction_alloc_block_size    | 8192                               |
| transaction_prealloc_size       | 4096                               |
| tx_isolation                    | REPEATABLE-READ                    |
| updatable_views_with_limit      | YES                                |
| userstat_running                | OFF                                |
| use_global_long_query_time      | OFF                                |
| version                         | 5.0.77.d8-ourdelta-log             |
| version_comment                 | (OurDelta - http://ourdelta.org/)  |
| version_compile_machine         | x86_64                             |
| version_compile_os              | unknown-linux-gnu                  |
| wait_timeout                    | 28800                              |
+---------------------------------+------------------------------------+
256 rows in set (0.00 sec)

Неактивен

 

#2 20.09.2010 23:24:02

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

Re: Mysql has gone away

Как осуществляется подключение? Используется ли persistent connections? На каких запросах возникает ошибка? Попробуйте mysql_ping, поможет?

Неактивен

 

#3 20.09.2010 23:40:21

STork
Участник
Зарегистрирован: 20.09.2010
Сообщений: 7

Re: Mysql has gone away

Использую обычный DBI->connect храню в хеше дескриптор. Перед каждым запросом проверяю не прошел ли таймаут (было 600 сек) и делаю пинг и реконнект если необходимо, сейчас поставил вместо 600 - 10 ошибки стали заметно реже - но всё ровно есть.

вот вопрос как поймать на каких запросах ошибка возникает... думал сначала пинг не работает, так поставил вместо него SELECT 1; валился я так понял прямо на этом запросе. Но хоть скрипт отрабатывался дальше.


Вообще перечитал форум вспомнил что перед этим я во всех таблицах подобавлял индексы ну на те поля которые участвуют в where но БД весит 150кб

Неактивен

 

#4 20.09.2010 23:59:53

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

Re: Mysql has gone away

STork написал:

вот вопрос как поймать на каких запросах ошибка возникает... думал сначала пинг не работает, так поставил вместо него SELECT 1; валился я так понял прямо на этом запросе. Но хоть скрипт отрабатывался дальше.

Вместе с кодом ошибки нужно выводить запрос, который привел к ошибке. Внесите исправление в код обработки ошибок. Еще стоит проверить как работает пинг, странно, что не так же, как SELECT 1.

Неактивен

 

#5 21.09.2010 00:02:15

STork
Участник
Зарегистрирован: 20.09.2010
Сообщений: 7

Re: Mysql has gone away

вот че-то запрос вытащить не получается. Пробовал trace сделать в DBI но там время не пишет :-( т.е. сверить не могу их. ОШибку выдает сам DBI и запрос к ней не прилагает.

Неактивен

 

#6 21.09.2010 00:07:28

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

Re: Mysql has gone away

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

  die $sth->errstr if $sth->err;

В этом обработчике можно огранизовать и вывод текста запроса.

Неактивен

 

#7 21.09.2010 00:19:23

STork
Участник
Зарегистрирован: 20.09.2010
Сообщений: 7

Re: Mysql has gone away

Conf->base('slave')->selectrow_hashref() - использую такие конструкции т.е. без prepare fetch execute. Готовые методы и переписывать проект под это желания честно говоря нет...может есть какой-нить способ отловить это на стороне самого сервера - ведь он "зараза" закрывает соединение? например лог какой-нить по соединением и причины закрытия?

Неактивен

 

#8 21.09.2010 00:23:54

STork
Участник
Зарегистрирован: 20.09.2010
Сообщений: 7

Re: Mysql has gone away

Только что перезагружал проект и офигел - другого слова я и не найду.

Ошибка была Lost connection during query, но это не вся беда, беда в том, что проект спрашивал данные у 1 таблицы а получил данные из другой таблицы!!!!!!!!!!!!!!!!!!!!!!!!!!!! нонсенс. Причем тамблицы не пересекаются никак и что самое ВАЖНОЕ они даже в 1 процессе не спрашивают друг друга. Т.е. у меня 5 процессов одинаковых ФастЦГИ и 2 вспомогательных (типа крон). Так вот 1 таблица используется в 5 процессах основых, а другая только в вспомогательных. Как такое могло произойти?

Неактивен

 

#9 21.09.2010 10:50:29

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

Re: Mysql has gone away

На уровне MySQL можно включить general query log, тогда в него будут записываться все запросы (просто добавить log=my_log_file в /etc/my.cnf).

Как построена архитектура сети? Есть ли что-то проксирующее?

Неактивен

 

#10 21.09.2010 14:03:20

STork
Участник
Зарегистрирован: 20.09.2010
Сообщений: 7

Re: Mysql has gone away

Да, проксирующее есть, но он стоит "до" бэкендов. На уровень бэкенд - бд просто ethernet

Неактивен

 

#11 22.09.2010 15:15:49

STork
Участник
Зарегистрирован: 20.09.2010
Сообщений: 7

Re: Mysql has gone away

Че-то я устал, посоветуйте пожалуйста версию стабильную Mysql - переставлю к чертям.

Неактивен

 

#12 23.09.2010 15:59:03

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

Re: Mysql has gone away

Не поверите — http://mysql.com/downloads/mysql/ smile

Неактивен

 

Board footer

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