Мне нужно создать резервную копию некоторых моих баз данных и перенести их на новый сервер.
Я бы использовал 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 на другом компьютере безопаснее всего иметь такой же основной выпуск MySQL на этом новом сервере.
Если вы обновляетесь с 5.1 до 5.5, о копировании / var / lib / mysql не может быть и речи для таблиц предоставления, потому что /var/lib/mysql/mysql/user.frm имеет разные версии количества столбцов.
Копирование содержимого / var / lib / mysql - не лучшее решение, но оно работает, если обе версии MySQL двоично совместимы друг с другом.
Это означает, что в действительности файлы MySQL 3 не будут работать с сервером MySQL 5.5. Но обычно, когда источником является MySQL 5.x, а местом назначения также является 5.x, он должен работать.
Я не знаю, может ли это быть проблемой, если источник 32-битный, а конечный 64-битный.