Использование предыдущей папки данных MySQL при новой установке MySQL - PullRequest
3 голосов
/ 10 апреля 2020

Если бы я мог сделать правильный SQL dump/backup, я бы сделал, но OS выдал и смог войти только в SafeMode, где я не смог запустить MySQL server. Поэтому я мог только вручную создавать резервные копии файловых каталогов.

  • У меня есть сохраненная копия файла C: \ ProgramData \ MySQL \ MySQL Сервер 8.0
  • У меня есть сохраненная копия файла C: \ Program Files \ MySQL \ MySQL Сервер 8.0

Сейчас я работаю на новой установке Windows и пытаюсь запустить этот старый сервер для через несколько минут, чтобы я мог войти в систему с Workbench и сделать правильный SQL database dump, который будет import для новой MySQL установки позже.

Следовательно, перемещая упомянутые файлы в их соответствующие местоположения - Program Files и ProgramData.

Открытие PowerShell (с правами администратора) и выполнение:

mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0" --console

и я получаю несколько сотен строк на экране, который содержит следующее:

2020-04-10T05:28:56.725818Z 0 [ERROR] [MY-011972] [InnoDB] Your database may be corrupt or you may have copied the InnoDB tablespace but not the InnoDB log files. Please refer to http://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html for information about forcing recovery.
2020-04-10T05:28:56.734460Z 0 [ERROR] [MY-011971] [InnoDB] Tablespace 'innodb_undo_001' Page [page id: space=4294967279, page number=5] log sequence number 1339677380 is in the future! Current system log sequence number 19081380.

Затем следует:

2020-04-10T05:28:56.740834Z 0 [ERROR] [MY-011972] [InnoDB] Your database may be corrupt or you may have copied the InnoDB tablespace but not the InnoDB log files. Please refer to http://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html for information about forcing recovery.
2020-04-10T05:28:56.757259Z 0 [System] [MY-010229] [Server] Starting crash recovery...
2020-04-10T05:28:56.769215Z 0 [System] [MY-010232] [Server] Crash recovery finished.
2020-04-10T05:28:57.695386Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2020-04-10T05:28:57.765911Z 0 [System] [MY-010931] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: ready for connections. Version: '8.0.13'  socket: ''  port: 3306  MySQL Community Server - GPL.
2020-04-10T05:28:57.926850Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060

Отлично, по крайней мере, его работает.

Теперь я могу connect, но не databases.

  • Что я могу сделать / как мне поступить, чтобы временно восстановить эти базы данных?

ОБНОВЛЕНИЕ:

Удалил файлы innodb_undo_001 и innodb_undo_002 из каталога данных и перезапустил.

Получение:

PS C:\Program Files\MySQL\MySQL Server 8.0\bin> .\mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console                                                               2020-04-10T05:55:29.555478Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2020-04-10T05:55:29.558313Z 0 [System] [MY-010116] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.13) starting as process 3028
2020-04-10T05:55:31.394427Z 1 [Warning] [MY-012351] [InnoDB] Tablespace 1, name 'sys/sys_config', file '.\sys\sys_config.ibd' is missing!
2020-04-10T05:55:32.808645Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2020-04-10T05:55:32.856154Z 0 [System] [MY-010931] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: ready for connections. Version: '8.0.13'  socket: ''  port: 3306  MySQL Community Server - GPL.
2020-04-10T05:55:32.898055Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060

Работает, но базы данных отсутствуют.

Попробовал подход Innodb-force-recovery - ничего не происходит. То же, что и раньше.

Ответы [ 2 ]

4 голосов
/ 17 апреля 2020

Хорошо, при условии, что все файлы не повреждены, вы можете попробовать следующее:

  1. Создать новую папку (если возможно, на другом диске). Назовите это как test или как-то еще. Затем скопируйте все файлы из каталога C:\Program Files\MySQL\MySQL Server 8.0 в новую папку.

enter image description here

* примечание: если в папке нет файла my.ini, скопируйте его из каталога C:\ProgramData\MySQL\MySQL Server 8.0 в папка.

Откройте файл my.ini и измените следующее: enter image description here

Go в начало файла my.ini и измените: enter image description here после изменения выше, скопируйте всю строку с mysqld --install MySQLXY .. до конца. Не копируйте первый # в начале. Затем сохраните файл my.ini.

Откройте командную строку (cmd) от имени администратора и выполните следующие действия: enter image description here

* установка службы вручную с помощью cmd.

Go к услугам (сочетание клавиш windows, кнопка + R, затем введите services.msc, затем нажмите ENTER или OK), найдите недавно установленную службу MySQL и нажмите start.

Попробуйте подключиться к дБ.

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

Проверьте ваш mysql файл конфигурации. Убедитесь, что каталог данных находится в правильной папке (C: \ ProgramData \ MySQL \ MySQL Server 8.0) или в том месте, куда вы сохранили, поместите его сейчас

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...