У меня есть выделенный сервер (не VPS/VM) под управлением x64 Centos 6.5 Final + cPanel. Машина имеет 16 ГБ памяти. Я запускаю игровой сервер на этом сервере (который использует MySQL как сервер для хранения данных). Я также запускаю свой сайт и форумы на этой машине.

Недавно я начал получать много ошибок, связанных с недостаточным количеством ресурсов для запуска игрового сервера, поэтому я использовал следующий https://tools.percona.com/ для создания нового my.cnf (оптимизированного для моего сервера).

С тех пор предупреждения о ресурсах исчезли, но MySQL Server продолжает часто выходить из строя.

Это мой /etc/my.cnf до сих пор:

[mysqld]
innodb_file_per_table=1
open_files_limit=3576

# MyISAM #
key-buffer-size                = 32M
myisam-recover                 = FORCE,BACKUP

# SAFETY #
max-allowed-packet             = 16M
max-connect-errors             = 1000000

# CACHES AND LIMITS #
tmp-table-size                 = 32M
max-heap-table-size            = 32M
query-cache-type               = 0
query-cache-size               = 0
max-connections                = 500
thread-cache-size              = 100
open-files-limit               = 65535
table-definition-cache         = 4096
table-open-cache               = 100

# INNODB #
innodb-flush-method            = O_DIRECT
innodb-log-files-in-group      = 2
innodb-flush-log-at-trx-commit = 1
innodb-file-per-table          = 1
innodb-buffer-pool-size        = 8G

Вот мой mysql-error.log : http://pastebin.com/Qp8hMywg

И мой server.domain.com.err : http://pastebin.com/1KzaRMRV


Обновить

Я запустил Perl-скрипт MySQL Tuner, и это вывод: http://pastebin.com/7zxbTKa7


Любая идея, что может быть причиной его частого сбоя?

Заранее спасибо за любую помощь / советы.

2 ответа2

2

Я не знаю много о проблеме MySQL, но кажется, что Percona знает об этой проблеме.

Причины текущей несовместимости:

  • Percona Server с XtraDB содержит функции, которые были перенесены из MyQL 5.5. Некоторые функции MySQL 5.5 добавлены новые
    коды ошибок.
  • Некоторые серверы Percona с функциями XtraDB добавили новые коды ошибок.
1

Ваша БД кажется поврежденной; Я бы рекомендовал выполнить действия, описанные в ссылке в сообщении об ошибке; http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html, но обо всем по порядку, сделайте резервную копию файлов db!

Начните с настройки

[mysqld]
innodb_force_recovery = 1

попробуйте перезапустить БД. Вы должны быть в состоянии выкинуть таблицы в новый чистый БД. Если это не работает, установите его на

[mysqld]
innodb_force_recovery = 2

И перезагрузите снова. MySQL не рекомендует превышать 3 на производственной базе данных из-за возможного дополнительного повреждения.

Еще одна вещь, на которую стоит обратить внимание: если вы недавно переместили БД, вы также переместили файлы журнала innodb?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .