Уважаемые! Выручайте!
Некоторое время детище уволенного web-программиста работало, но вот после некоторых модернизаций сервера (их было много и все необходимые) на одной из страниц стали появляться ошибки:
Warning: MySQL server has gone away query: SELECT * FROM system WHERE type = 'theme' in /usr/home/data/ms_new/includes/database.mysqli.inc on line 134
Warning: MySQL server has gone away query: SELECT data, created, headers, expire, serialized FROM cache WHERE cid = 'theme_registry:' in /usr/home/data/ms_new/includes/database.mysqli.inc on line 134
Warning: MySQL server has gone away query: SELECT s.lid, t.translation, s.version FROM locales_source s LEFT JOIN locales_target t ON s.lid = t.lid AND t.language = 'ru' WHERE s.source = 'Attachments added to other displays to achieve multiple views in the same view.' AND s.textgroup = 'default' in /usr/home/data/ms_new/includes/database.mysqli.inc on line 134
Warning: MySQL server has gone away query: INSERT INTO locales_source (location, source, textgroup, version) VALUES ('/admin/stat/settings', 'Attachments added to other displays to achieve multiple views in the same view.', 'default', '6.24') in /usr/home/data/ms_new/includes/database.mysqli.inc on line 134
Warning: MySQL server has gone away query: DELETE FROM cache WHERE cid LIKE 'locale:%' in /usr/home/data/ms_new/includes/database.mysqli.inc on line 134
Warning: MySQL server has gone away query: SELECT s.lid, t.translation, s.version FROM locales_source s LEFT JOIN locales_target t ON s.lid = t.lid AND t.language = 'ru' WHERE s.source = 'Displays the summary unformatted, with option for one after another or inline.' AND s.textgroup = 'default' in /usr/home/data/ms_new/includes/database.mysqli.inc on line 134
Warning: MySQL server has gone away query: INSERT INTO locales_source (location, source, textgroup, version) VALUES ('/admin/stat/settings', 'Displays the summary unformatted, with option for one after another or inline.', 'default', '6.24') in /usr/home/data/ms_new/includes/database.mysqli.inc on line 134
Warning: MySQL server has gone away query: DELETE FROM cache WHERE cid LIKE 'locale:%' in /usr/home/data/ms_new/includes/database.mysqli.inc on line 134
Warning: MySQL server has gone away query: UPDATE cache SET data = 'a:173:{s:28:\"content_profile_display_view\";a:8:{s:8:\"template\";s:62:\"sites/all/modules/content_profile/content_profile-display-view\";s:9:\"arguments\";a:1:{s:7:\"element\";N;}s:4:\"file\";s:25:\"content_profile.theme.inc\";s:4:\"type\";s:6:\"module\";s:10:\"theme path\";s:33:\"sites/all/modules/content_profile\";s:13:\"include files\";a:1:{i:0;s:61:\"./sites/all/modules/content_profile/content_profile.theme.inc\";}s:11:\"theme paths\";a:1:{i:0;s:33:\"sites/all/modules/content_profile\";}s:20:\"preprocess functions\";a:2:{i:0;s:19:\"template_preprocess\";i:1;s:55:\"content_profile_preprocess_content_profile_display_view\";}}s:32:\"content_profile_display_add_link\";a:7:{s:4:\"file\";s:25:\"content_profile.theme.inc\";s:4:\"type\&q in /usr/home/data/ms_new/includes/database.mysqli.inc on line 134
Я понимаю, что где-то что-то не то изменили, но вот хотелось бы точно определить что и где.
Мож кто подскажет в каком направлении копать. Настройки my.cnf устанавливал как рекомендуют. Мощности сервера хватает с лихвой (ведь только неделю назад в этом же месте все работало). И вот - такая незадача!
Какие есть предложения?
Комментарии
С жесткими дисками все ок?
Ну, по крайней мере, причин для беспокойства еще не было. А что указывает на то, что с жесткими что-то не так?
Это только на одной странице?
Проверили конфиг друпала? Может там использовались несколько БД одновременно для 1 сайта?
Может кто-то экспериментировал с поддоменами и т.д. и не до конца удалил свои наработки?
Да. Используется 2 базы:
1. Собственная база drupal.
2. База mongoDB для хранения собс-но большого объема данных.
Напомню, что еще неделю назад это место на сайте отрабатывало отлично. Настройки друпала никто не трогал. Гарантировано.
Есть подозрение, что на сервере "крутится" несколько mysql-серверов.
ps aux |grep mysql показывает 2 процесса:
mysql 1442 0.0 0.0 14448 1356 ?? Is 9:09PM 0:00.00 /bin/sh /usr/local/bin/mysqld_safe --defaults-extra-file=/var/db/mysql/my.cnf --use
mysql 1523 0.0 0.4 433460 141460 ?? I 9:09PM 0:03.00 /usr/local/libexec/mysqld --defaults-extra-file=/var/db/mysql/my.cnf --basedir=/usr
Как мне объяснили - это нормально.
У меня было похожее, даже когда выставил все параметры как здесь описано. Ошибка исчезла после того, как в PhpMyAdmin починил все таблицы (выделил все и кликнул 'repair').
Напишите, что показывает запрос "SHOW GLOBAL VARIABLES" (под рутом).
|
| have_ssl | DISABLED |
| have_symlink | YES |
| hostname | de.bixi.su |
| ignore_builtin_innodb | OFF |
| init_connect | |
| init_file | |
| init_slave | |
| innodb_adaptive_flushing | ON |
| innodb_adaptive_hash_index | ON |
| innodb_additional_mem_pool_size | 8388608 |
| innodb_autoextend_increment | 8 |
| innodb_autoinc_lock_mode | 1 |
| innodb_buffer_pool_instances | 1 |
| innodb_buffer_pool_size | 134217728 |
| innodb_change_buffering | all |
| innodb_checksums | ON |
| innodb_commit_concurrency | 0 |
| innodb_concurrency_tickets | 500 |
| innodb_data_file_path | ibdata1:10M:autoextend |
| innodb_data_home_dir | |
| innodb_doublewrite | ON |
| innodb_fast_shutdown | 1 |
| innodb_file_format | Antelope |
| innodb_file_format_check | ON |
| innodb_file_format_max | Antelope |
| innodb_file_per_table | OFF |
| innodb_flush_log_at_trx_commit | 1 |
| innodb_flush_method | |
| innodb_force_load_corrupted | OFF |
| innodb_force_recovery | 0 |
| innodb_io_capacity | 200 |
| innodb_large_prefix | OFF |
| innodb_lock_wait_timeout | 50 |
| innodb_locks_unsafe_for_binlog | OFF |
| innodb_log_buffer_size | 8388608 |
| innodb_log_file_size | 5242880 |
| innodb_log_files_in_group | 2 |
| innodb_log_group_home_dir | ./ |
| innodb_max_dirty_pages_pct | 75 |
| innodb_max_purge_lag | 0 |
| innodb_mirrored_log_groups | 1 |
| innodb_old_blocks_pct | 37 |
| innodb_old_blocks_time | 0 |
| innodb_open_files | 300 |
| innodb_purge_batch_size | 20 |
| innodb_purge_threads | 0 |
| innodb_random_read_ahead | OFF |
| innodb_read_ahead_threshold | 56 |
| innodb_read_io_threads | 4 |
| innodb_replication_delay | 0 |
| innodb_rollback_on_timeout | OFF |
| innodb_rollback_segments | 128 |
| innodb_spin_wait_delay | 6 |
| innodb_stats_method | nulls_equal |
| innodb_stats_on_metadata | ON |
| innodb_stats_sample_pages | 8 |
| innodb_strict_mode | OFF |
| innodb_support_xa | ON |
| innodb_sync_spin_loops | 30 |
| innodb_table_locks | ON |
| innodb_thread_concurrency | 0 |
| innodb_thread_sleep_delay | 10000 |
| innodb_use_native_aio | OFF |
| innodb_use_sys_malloc | ON |
| innodb_version | 1.1.8 |
| innodb_write_io_threads | 4 |
| interactive_timeout | 28800 |
| join_buffer_size | 131072 |
| keep_files_on_create | OFF |
| key_buffer_size | 8388608 |
| key_cache_age_threshold | 300 |
| key_cache_block_size | 1024 |
| key_cache_division_limit | 100 |
| large_files_support | ON |
| large_page_size | 0 |
| large_pages | OFF |
| lc_messages | en_US |
| lc_messages_dir | /usr/local/share/mysql/ |
| lc_time_names | en_US |
| license | GPL |
| local_infile | ON |
| lock_wait_timeout | 31536000 |
| locked_in_memory | OFF |
| log | OFF |
| log_bin | OFF |
| log_bin_trust_function_creators | OFF |
| log_error | /var/db/mysql/de.bixi.su.err |
| log_output | FILE |
| log_queries_not_using_indexes | OFF |
| log_slave_updates | OFF |
| log_slow_queries | OFF |
| log_warnings | 1 |
| long_query_time | 10.000000 |
| low_priority_updates | OFF |
| lower_case_file_system | OFF |
| lower_case_table_names | 0 |
| max_allowed_packet | 1048576 |
| max_binlog_cache_size | 18446744073709547520 |
| max_binlog_size | 1073741824 |
| max_binlog_stmt_cache_size | 18446744073709547520 |
| max_connect_errors | 10 |
| max_connections | 151 |
| 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_long_data_size | 1048576 |
| 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 | 0 |
| max_write_lock_count | 18446744073709551615 |
| metadata_locks_cache_size | 1024 |
| min_examined_row_limit | 0 |
| multi_range_count | 256 |
| myisam_data_pointer_size | 6 |
| myisam_max_sort_file_size | 9223372036853727232 |
| myisam_mmap_size | 18446744073709551615 |
| myisam_recover_options | OFF |
| myisam_repair_threads | 1 |
| myisam_sort_buffer_size | 8388608 |
| myisam_stats_method | nulls_unequal |
| myisam_use_mmap | OFF |
| net_buffer_length | 16384 |
| net_read_timeout | 30 |
| net_retry_count | 10 |
| net_write_timeout | 60 |
| new | OFF |
| old | OFF |
| old_alter_table | OFF |
| old_passwords | OFF |
| open_files_limit | 11095 |
| optimizer_prune_level | 1 |
| optimizer_search_depth | 62 |
| optimizer_switch | index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on |
| performance_schema | OFF |
| performance_schema_events_waits_history_long_size | 10000 |
| performance_schema_events_waits_history_size | 10 |
| performance_schema_max_cond_classes | 80 |
| performance_schema_max_cond_instances | 1000 |
| performance_schema_max_file_classes | 50 |
| performance_schema_max_file_handles | 32768 |
| performance_schema_max_file_instances | 10000 |
| performance_schema_max_mutex_classes | 200 |
| performance_schema_max_mutex_instances | 1000000 |
| performance_schema_max_rwlock_classes | 30 |
| performance_schema_max_rwlock_instances | 1000000 |
| performance_schema_max_table_handles | 100000 |
| performance_schema_max_table_instances | 50000 |
| performance_schema_max_thread_classes | 50 |
| performance_schema_max_thread_instances | 1000 |
| pid_file | /var/db/mysql/de.bixi.su.pid |
| plugin_dir | /usr/local/lib/mysql/plugin/ |
| port | 3306 |
| preload_buffer_size | 32768 |
| profiling | OFF |
| profiling_history_size | 15 |
| protocol_version | 10 |
| query_alloc_block_size | 8192 |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 0 |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
| query_prealloc_size | 8192 |
| range_alloc_block_size | 4096 |
| read_buffer_size | 131072 |
| read_only | OFF |
| read_rnd_buffer_size | 262144 |
| relay_log | |
| relay_log_index | |
| relay_log_info_file | relay-log.info |
| relay_log_purge | ON |
| relay_log_recovery | OFF |
| relay_log_space_limit | 0 |
| report_host | |
| report_password | |
| report_port | 3306 |
| report_user | |
| rpl_recovery_rank | 0 |
| secure_auth | OFF |
| secure_file_priv | |
| server_id | 0 |
| skip_external_locking | ON |
| skip_name_resolve | OFF |
| skip_networking | OFF |
| skip_show_database | OFF |
| slave_compressed_protocol | OFF |
| slave_exec_mode | STRICT |
| slave_load_tmpdir | /tmp/ |
| slave_net_timeout | 3600 |
| slave_skip_errors | OFF |
| slave_transaction_retries | 10 |
| slave_type_conversions | |
| slow_launch_time | 2 |
| slow_query_log | OFF |
| slow_query_log_file | /var/db/mysql/de-slow.log |
| socket | /tmp/mysql.sock |
| sort_buffer_size | 2097152 |
| sql_auto_is_null | OFF |
| sql_big_selects | ON |
| sql_big_tables | OFF |
| sql_buffer_result | OFF |
| sql_log_bin | ON |
| sql_log_off | OFF |
| sql_low_priority_updates | OFF |
| sql_max_join_size | 18446744073709551615 |
| sql_mode | |
| sql_notes | ON |
| sql_quote_show_create | ON |
| sql_safe_updates | OFF |
| sql_select_limit | 18446744073709551615 |
| sql_slave_skip_counter | 0 |
| sql_warnings | OFF |
| ssl_ca | |
| ssl_capath | |
| ssl_cert | |
| ssl_cipher | |
| ssl_key | |
| storage_engine | InnoDB |
| stored_program_cache | 256 |
| sync_binlog | 0 |
| sync_frm | ON |
| sync_master_info | 0 |
| sync_relay_log | 0 |
| sync_relay_log_info | 0 |
| system_time_zone | VLAT |
| table_definition_cache | 400 |
| table_open_cache | 400 |
| thread_cache_size | 0 |
| thread_concurrency | 10 |
| thread_handling | one-thread-per-connection |
| thread_stack | 262144 |
| time_format | %H:%i:%s |
| time_zone | SYSTEM |
| timed_mutexes | OFF |
| tmp_table_size | 16777216 |
| tmpdir | /tmp/ |
| transaction_alloc_block_size | 8192 |
| transaction_prealloc_size | 4096 |
| tx_isolation | REPEATABLE-READ |
| unique_checks | ON |
| updatable_views_with_limit | YES |
| version | 5.5.24 |
| version_comment | Source distribution |
| version_compile_machine | amd64 |
| version_compile_os | FreeBSD9.0 |
| wait_timeout | 28800 |
Ошибка: The storage engine for the table doesn't support repair
InnoDB вероятно
Таки да, но как быть в ситауции? Что могло пойти не так?
Скажу что мы делали с сервером.
Нам, в силу некоторых обстоятельств, пришлось понизить версию php с 5.4 на 5.3, т.к. были проблемы несовместимости некоторых продуктов.
Ну и, соответственно, пришлось пересобирать некоторые зависимые порты. Вот и думаю, не упустили ли мы что-то. Знать бы что.
Ну так что? Есть еще какие-нибудь идеи? Как победить сей недуг?
Попробуйте увеличить max_allowed_packet сиквела, скажем от 4 до 16 Мб.
Если ошибка не исправится верните обратно и попробуем нечто другое.
В любом случае ошибка в этой странице, а вернее в запросе на этой странице.
Нужен вывод Devel по всем запросам на странице, что бы узнать какой из запросов валит сервер.
Для начала было бы неплохо узнать какой запрос предшествует:
SELECT * FROM system WHERE type = 'theme'
//т.е. первому запросу с ошибкой.
Немного не правильно сформулировал.
Неправильный запрос, тело которого увеличивается автоматически приводит к падению не правильно настроенного сиквела.
//Мое мнение
Насколько я понял, настройки уже стоят рекомендованные, верно?
Если нет, то полный список опять же - здесь.
Не рекомендованные там настройки. Например:
> max_allowed_packet | 1048576 |
1 МБ, а рекомендуют 64 МБ.
Тогда с этого надо было и начинать...
и вот это проверить: