Слияние данных с двух серверов MySQL
У меня есть два старых сервера MySQL, и теперь я купил новый сервер, и я хочу перенести файлы на этот сервер, мой вопрос заключается в том, скопирую ли я все эти файлы на новый сервер, распознает ли MySQL эти файлы, или мне придется изменить несколько вариантов. Оба сервера - это MyISAM и новый сервер.
ОБНОВЛЕНО: Пример:
server one:
table1
table2
table3
server two:
table4
table5
table6
new server:
table1
table2
table3
table4
table5
table6
2 ответа
Если все таблицы MyISAM, у меня хорошие новости!!!
Mysqldump, хотя он будет работать и побитнее, безопаснее и консервативнее, совершенно не требуется.
Каждая таблица MyISAM состоит из трех файлов:.frm,.MYD,.MYI.
Вы должны иметь возможность просто переместить таблицы в новую папку базы данных.
База данных information_schema автоматически обнаружит наличие трех файлов и обновит себя (в частности, update_schema.schemata). Вот доказательство того, что может произойти:
Пока MySQL еще работает, сделайте следующее
cd /var/lib/mysql
mkdir thisisatest
mysql
Как только вы запустите SHOW DATABASES; Вы должны увидеть, как это выглядит как база данных. Это потому, что information_schema автоматически обновляется и регистрируется /var/lib/mysql/this как самая лучшая база данных. Таблицы MyISAM будут регистрировать себя таким же образом (в частности, обновлять information_schema.tables). ВНИМАНИЕ: ЭТО НЕВОЗМОЖНО С InnoDB!!!
Экспортируйте таблицы с mysqldump
, Обязательно отфильтруйте таблицы / базы данных, которые вам не нужно импортировать или перезаписывать. Импорт с чем-то вроде mysql < import.sql
,