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

Сохранение баз данных MySQL без mysqldump

Мне нужно создать резервную копию некоторых моих баз данных и перенести их на новый сервер.

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

# /etc/init.d/mysqld start
MySQL Daemon failed to start.
Starting mysqld:                                           [FAILED]

По сути, я был на dv-сервере медиа-храма, и я использовал yum, чтобы попытаться обновить вещи, и это испортило кучу настроек, потому что mediatemple изначально не использовал yum для установки mysql, php и т. Д.

В любом случае, к счастью, мои старые таблицы все еще существуют (я вижу их в /var/lib/mysql)

мой вопрос: Можно ли как-нибудь перенести файлы, которые у меня /var/lib/mysql на мой новый сервер? Я думал, что могу просто «скопировать и вставить» их в свой новый сервер /var/lib/mysql каталог ... Это теоретически сработает?

Или у меня есть другие варианты перемещения столов?

Я использую CentOS.

Если каждая имеющаяся у вас таблица использует механизм хранения MyISAM, то копирование / var / lib / mysql вполне нормально.

Если хотя бы одна вкладка - это InnoDB, убедитесь, что вы скопировали следующее:

  • / var / lib / mysql
  • ibdata, ib_logfile0, ib_logfile1 (если их нет в / var / lib / mysql)
  • /etc/my.cnf (из-за настроек InnoDB)

Убедитесь, что при восстановлении / var / lib / mysql на другом компьютере безопаснее всего иметь такой же основной выпуск MySQL на этом новом сервере.

Если вы обновляетесь с 5.1 до 5.5, о копировании / var / lib / mysql не может быть и речи для таблиц предоставления, потому что /var/lib/mysql/mysql/user.frm имеет разные версии количества столбцов.

  • MySQL 5.0 имеет 37 столбцов
  • MySQL 5.1 имеет 39 столбцов
  • MySQL 5.5 имеет 42 столбца

Копирование содержимого / var / lib / mysql - не лучшее решение, но оно работает, если обе версии MySQL двоично совместимы друг с другом.

Это означает, что в действительности файлы MySQL 3 не будут работать с сервером MySQL 5.5. Но обычно, когда источником является MySQL 5.x, а местом назначения также является 5.x, он должен работать.

Я не знаю, может ли это быть проблемой, если источник 32-битный, а конечный 64-битный.