MySQL восстановить таблицу из проблемы XAMPP - PullRequest
0 голосов
/ 11 апреля 2020

Я привык полагаться на XAMPP в моем Kubuntu 18.04, который находится в /opt/lampp. Я удалил XAMPP и имел резервную копию целой папки в этом каталоге до этого, и мне не терпелось установить все стек LAMP индивидуально, после чего я установил apache2, mysql -server и phpmyadmin.

Дело в том, что я хочу импортировать свои базы данных из моей резервной копии папки XAMPP, расположенной в /opt/lampp/var/mysql, которая состоит из всех моих баз данных с таблицами в форматах .frm и .ibd, которые, очевидно, существуют, к моей текущей установленной mysql папке базы данных в /var/lib/mysql.

После того, как я переместил эти базы данных, я открыл phpmyadmin, чтобы убедиться, что базы данных импортированы правильно, но я видел только базу данных без таблицы внутри базы данных. Как так? Что нужно сделать, чтобы восстановить таблицы внутри?

1 Ответ

0 голосов
/ 13 апреля 2020

Вы не можете просто скопировать файлы базы данных из каталога данных (/var/lib/mysql в вашем случае). Надлежащим резервным копированием MySQL / MariaDB является создание файлов. sql, которые затем можно импортировать независимо. Невозможно выборочно восстановить определенные базы данных из-за способа управления определенными файлами (например, ibdata1 и, возможно, других, таких как файлы журналов).

То, что я хотел бы попробовать, а может и не работать, так ( применяются обычные заявления об отказе от резервного копирования. Я не несу ответственности, если ваша система перестала работать или загорелась и т. д. c):

  1. Сделайте резервную копию существующих баз данных (до SQL, Я использую утилиту командной строки mysqldump, которая поставляется с MySQL / MariaDB).
  2. Остановите демон MySQL и убедитесь, что он не работает.
  3. Временно переместите текущий каталог данных вне пути (возможно, с помощью команды, подобной mv /var/lib/mysql /var/lib/mysql-current).
  4. Скопируйте всю резервную копию, весь MySQL datadir (из старого /opt/lampp/var/mysql) XAMPP, в /var/lib/mysql.
  5. Запустите демон MySQL.
  6. Подключите и экспортируйте любые данные, которые вы sh сохраните в SQL файлах.
  7. Остановите демон.
  8. Переместите текущий /var/lib/mysql вне пути (или, если вы смелый, удалите его полностью). * 1 026 *
  9. Восстановите исходные файлы из /var/lib/mysql-current в исходное местоположение в /varlib/mysql
  10. Запустите демон снова
  11. Импортируйте файлы SQL, созданные вами на шаге 6 .

Вот и все - теперь все готово для установки исходных данных в новой базе данных.

...