Даже если вы используете файл-в-таблицы, таблицы держать часть своих данных и метаданных в/вар/Lib/MySQL/ibdata1. Поэтому вы не можете просто перемещать файлы .ibd в новый экземпляр MySQL.
Вам необходимо создать резервную копию и восстановить базу данных. Вы можете использовать:
mysqldump, входящий в состав MySQL, надежный, но медленный.
mydumper, сообщество внесло вклад в mysqldump, это поддерживает сжатие и параллельное выполнение и другие опрятные функции.
Percona XtraBackup, который является бесплатным и выполняет высокоскоростное физическое резервное копирование InnoDB (а также поддерживает другие механизмы хранения). Это рекомендуется для минимизации прерывания ваших операций в реальном времени, а также в случае большой базы данных.
Re ваш комментарий:
Нет, вы не можете просто скопировать файлы .ibd. Вы не можете отключить требование ibdata1. Этот файл включает, среди прочего, словарь данных, о котором вы можете думать как оглавление книги. Он сообщает InnoDB, какие таблицы у вас есть, и в какой физический файл они находятся.
Если вы просто переместите файл .ibd в другой экземпляр MySQL, это не добавит его в словарь данных этого экземпляра. Таким образом, InnoDB не имеет никакого представления о том, чтобы искать в новом файле или с какой логической таблицей он идет.
Если вы хотите обходной путь, вы можете ALTER TABLE mytable ENGINE=MyISAM
, переместите этот файл и его .frm в другой экземпляр, а затем ALTER TABLE mytable ENGINE=InnoDB
, чтобы изменить его. Перед перемещением файлов MyISAM запомните FLUSH TABLES WITH READ LOCK
.
Но эти шаги предназначены не для новичков. Было бы намного безопаснее использовать резервный метод восстановления &, если вы не знаете, что делаете. Я пытаюсь сэкономить вам какое-то горе.
, но могу ли я отключить сохранение значения и метаданных в var/lib/mysql/ibdata1? есть ли возможность скопировать его по файлам? – sergio
Не знал о mydumper и XtraBackup! (учиться чему-то новому каждый день) – Barranka
@sergio Ваша база данных повреждена? Это причина, по которой вы хотите скопировать файлы вручную? – Barranka