Поддержка Проблемы и решения Помогите восстановить БД

  • Нечайно сламал БД. Как исправить?
    wp_usermeta: Table is marked as crashed and last repair failed
    wp_posts: Table is marked as crashed and last repair failed
    wp_comments: Table is marked as crashed and last repair failed
    wp_options: Table is marked as crashed and last repair failed
    wp_postmeta: Table is marked as crashed and last repair failed
    wp_term_taxonomy: Table is marked as crashed and last repair failed
    wp_term_relationships: Table is marked as crashed and last repair failed

Просмотр 14 ответов — с 16 по 29 (всего 29)
  • Модератор Yui

    (@fierevere)

    永子

    если владелец mysql то такие права не должны создавать проблем
    хотя обычно используется 770 (mysql:mysql)
    на файлы 660

    (mysql:www-data)

    Модератор Yui

    (@fierevere)

    永子

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

    сам, но все работало

    Модератор Yui

    (@fierevere)

    永子

    chown -Rc mysql /var/lib/mysql
    сделайте на всякий случай

    Модератор Yui

    (@fierevere)

    永子

    отключите mysqld
    можно вот так killall mysqld

    удалите *.TMM и *.TMD

    попробуйте снова запустить mysqld, раз сами ставили — то сами знаете как 😀

    посмотрите что выдаст в лог ошибок при запуске

    Модератор Yui

    (@fierevere)

    永子

    как же вы так базу ухитрились поломать
    у вас и контрольная база ‘mysql’ сломана вся

    бэкапов нет? можно восстановить только /var/lib/mysql (при выключенном mysqld)

    откатился, только я встановил плагин для оптимизации БД и оно все слетело

    Модератор Yui

    (@fierevere)

    永子

    mysql штука такая , что плагином ее сломать должно быть на грани невозможного, скорее имеют место быть глюки установленного пакета и дистрибутива, а если еще и сами собирали…

    вообщем проще всего восстановить с бэкапа
    а лучше всего — с дампа, если таковой имеется для нужных БД,
    перед восстановлением с дампа поставить дистрибутивный mysql-server пакетным менеджером дистрибутива ( /etc/mysql и /var/lib/mysql нужно будет удалить, чтобы не конфликтило и не создавало проблем для инициализации чистой базы )

    если бэкапов нет —
    https://dev.mysql.com/doc/refman/5.0/en/forcing-innodb-recovery.html
    в помощь, хотя почему блокирована запись в /var/lib/mysql вам тоже надо разобраться

    Модератор Yui

    (@fierevere)

    永子

    также стоит проверить целостность файловой системы
    если у вас база в хлам, то и ФС скорее всего тоже, а плагин тут непричем, базу ‘mysql’ он вам сломать не мог ну никак

    спасибо.

    Модератор Yui

    (@fierevere)

    永子

    еще такой момент — если у вас дистрибутив с systemd
    а mysql вы поставили сами, то у systemd при перезагрузке или отключении есть пренеприятное свойство недожидаться завершения mysqld и выключать перезагружать систему
    базы будут ломаться постоянно
    Причем даже если вы кинули init скриптик в /etc/rc.d( или init.d)
    то оно все равно его не особенно уважает

    ставьте дистрибутивный mysql-server 😀

Просмотр 14 ответов — с 16 по 29 (всего 29)
  • Тема «Помогите восстановить БД» закрыта для новых ответов.