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

как отлаживать mysql пошло?

У меня есть виртуальная машина (Ubuntu 12.04, MySQL 5.5), работающая под VMware и предназначенная для размещения сервера mysql. Подключаюсь к этому серверу по внутреннему IP.

Я пытаюсь понять, почему я получаю mysql server has gone ошибка. Один из моих Windows-машин apache останавливается из-за этой проблемы. Я пытался настроить свой mysql my.cnf со следующими параметрами, но не дал желаемого результата.

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
 bind-address           = 0.0.0.0
#
# * Fine Tuning
#
wait_timeout = 180
key_buffer              = 384M
max_allowed_packet      = 64M
thread_stack            = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover         = BACKUP
max_connections        = 500
table_cache            = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit       = 1M
query_cache_size        = 32M

как отладить эту проблему, чего не хватает в конфигурации, чтобы избежать этой ошибки?

это очень типичная, досадная ошибка.

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

это может быть на стороне приложения, например, если вы используете php, если код достигает max_execution_time [sic], вы можете увидеть эту ошибку.

Кроме того, переменная mysql max_packet [sic] вызовет эту ошибку и обычно возникает при импорте mysqldumps.

наконец, если у вас есть ограничение скорости iptables для tcp / 3306 (или того, что слушает mysql), вы можете увидеть это в результате отброшенных пакетов.

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