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

восстановление myisam mysql db на другом компьютере

Я скопировал каталог веб-базы данных (/ var / lib / mysql / data / web /), когда mysql не запущен. Я перенес этот каталог на другую машину, на которой запущен mysql.

материалы web db основаны на myisam.

Думаю, как это восстановить на другом сервере. У меня на уме следующая стратегия.

  1. скопируйте каталог данных веб-базы данных на новый сервер.
  2. на новом сервере "создать сеть базы данных", которая создает каталог в / var / lib / mysql / data
  3. скопируйте все файлы из шага в новый каталог, созданный в 2.
  4. отказов mysql

Мой вопрос: как бороться с information_schema для этой новой базы данных?

Через шесть лет после того, как этот вопрос был задан, мне пришлось скопировать таблицу MYISAM с 80 миллионами строк в резервную базу данных (она использовала 80% дискового пространства всей нашей базы данных).

Я взял файлы .MYI, .MYD и .FRM из ночной резервной копии и скопировал их в папку новой работающей базы данных. Information_schema была обновлена ​​почти сразу, и все операции с таблицами работали, как ожидалось (т.е. индексы и прочее были правильными).
Я запустил для них CHECK TABLE и OPTIMIZE TABLE, прежде чем отправлять их в тихую службу, но этот метод резервного копирования был безболезненным.

information_schema - это информационная база данных, в которой хранится информация обо всех остальных базах данных. Это встроенная виртуальная база данных с единственной целью - предоставить информацию о самой системе баз данных. Сервер MySQL автоматически заполняет таблицы в information_schema.

ссылка: http://kb.siteground.com/article/What_is_the_information_schema_database.html

Поэтому, если это только таблицы myisam, вы можете копировать / перемещать базу данных, пока версии mysql одинаковы.

на исходной машине:

mysqldump -q -u username -p database > database.sql

перенесите database.sql на конечный компьютер и выполните:

mysql -u username -p database < database.sql