Як відновити базу даних mysql з фізичних файлів?


12

Я щойно перевстановив свою систему, я не робив резервного копіювання, але у мене все ще є фізична папка попередніх установок mysql.

Чи можна використовувати його для відновлення та оновлення моєї поточної конфігурації?

Відповіді:


11

Це можливо, але не пропонується. Якби я збирався спробувати це, ось як я це зробив.

  1. Встановіть mysql, налаштуйте якомога ближче до старого сервера, або просто скористайтеся тим самим конфігурацією. Переконайтеся, що воно починається, перезавантажується, і ви можете увійти в нього. Тепер вимкніть mysql.

  2. Перенесіть стару установку з шляху mv /var/lib/mysql /var/lib/mysql.orig

  3. rsync або скопіюйте нові файли на місце. sudo rsync -av /old/mysql/ /var/lib/mysql/Я пропоную зберегти оригінальні файли у їхньому поточному стані, якщо це не працює.

  4. sudo chown -R mysql: /var/lib/mysqlа потім запустіть mysql. Перевірте журнали, переконайтеся, що речі добре виглядають, а потім увійдіть у Mysql. Подивіться навколо, переконайтеся, що схожі на ваші дані.

Якщо припустити, що все пройшло гладко, вам слід налаштуватись. Тепер негайно переходьте до правильної задньої частини Mysql, тому вам не доведеться робити такого роду дурниці наступного разу.


1
Буду обережним зробити крок 2 вище перед кроком 1. Ви хочете переконатися, що встановлення та запуск mysqld не замінить вашу стару системну базу даних.
malcolmpdx

Це хороший момент. Я припускав, що / var / lib / mysql не від початкової установки. У будь-якому випадку, так, переконайтеся, що ваші оригінальні файли не в / var / lib / mysql перед тим, як розпочати це. Ви хочете почати зі свіжого екземпляра Mysql, перш ніж починати намагатися завантажити свої вихідні дані.
кашані

дякую, я трохи змінив крок, щоб адаптуватись до мого оточення Zend Server CE та MacOS, і це працює!
Джон

@Kashani я дотримувався цих інструкцій (центів), але на новому сервері я отримую таблицю для відображення, але дані та таблиця не мають .. будь-які ідеї? я бачу всі таблиці всередині папки, вони просто не відображаються (це також здається, що це правильний набір символів)
K2xL

2
@ K2xL Я не впевнений, що ти бачиш. Якщо ви створите нове запитання з деталями того, що ви бачите та як ви це зробили, я би радий його переглянути. Майте на увазі, що вищезазначений метод працює лише для всієї установки Mysql, а не для окремої бази даних, оскільки таблиці Innodb містять дані, що зберігаються в основних файлах ibdata, незалежно від того, використовуєте ви чи ні innodb_file_per_table.
kashani
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.