Fix MySQL Каталог данных сервера - PullRequest
0 голосов
/ 11 марта 2020

У меня очень странная проблема на Windows 10 с MySQL Сервер 8:

Я не смог запустить сервер или службу mysql с mysqld или net start mysql как mysql сообщил об отсутствии каталога data (не удалось записать «тестовый файл»). Он / искал в C:\Program Files\MySQL\MySQL Server 8.0.

После некоторого поиска в Google я мог запустить сервер mysql после запуска mysqld --initialize, который действительно создал папку data под C:\Program Files\MySQL\MySQL Server 8.0 и сбросил пароль как-то. К сожалению, все мои базы данных исчезли после того, как я подключился к (я так думаю) вновь инициализированному mysql серверу.

После еще одного поиска в Google я обнаружил, что на моем P C есть следующий каталог: C:\ProgramData\MySQL\MySQL Server 8.0 ... и вуаля .. внутри этого каталога Data есть папки с именами моих (потерянных) баз данных. Так что я почти уверен, что мои данные там.

Но как мне настроить сервер mysql, чтобы использовать эти правильные данные / настройки как угодно. Я не хочу использовать только что инициализированный сервер mysql.

Я попытался скопировать папки из C:\ProgramData\MySQL\MySQL Server 8.0 в C:\Program Files\MySQL\MySQL Server 8.0, но безуспешно. Один раз сервер не мог быть запущен, в другой раз данные просто игнорировались. Я также попытался скопировать my.ini в C:\ProgramData\MySQL\MySQL Server 8.0 и изменить запись в datadir под [mysqld] -> Не повезло.

Любая помощь приветствуется.

ОБНОВЛЕНИЕ:

Следующие ошибки и предупреждения появляются в моем файле ".err":

2020-03-11T19: 21: 10.658537Z 0 [Предупреждение] [MY-010915] [Сервер] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE Режимы 'и' ERROR_FOR_DIVISION_BY_ZERO 'sql должны использоваться в строгом режиме. В следующем выпуске они будут объединены со строгим режимом.

2020-03-11T19: 21: 10.659813Z 0 [Система] [MY-010116] [Сервер] C: \ Program Files \ MySQL \ MySQL Сервер 8.0 \ bin \ mysqld.exe (mysqld 8.0.19) запускается как процесс 4040

2020-03-11T19: 21: 11.340219Z 0 [Предупреждение] [MY-010068] [Сервер] CA сертификат ca.pem самоподписан.

2020-03-11T19: 21: 11.358861Z 0 [Предупреждение] [MY-013143] [Сервер] Количество столбцов mysql. Пользователь не прав. Ожидается 51, найдено 49. Возможно, таблица повреждена

2020-03-11T19: 21: 11.359562Z 0 [Предупреждение] [MY-013139] [Сервер] Невозможно загрузить из mysql .db. Возможно, таблица повреждена!

2020-03-11T19: 21: 11.360108Z 0 [Предупреждение] [MY-013139] [Сервер] Невозможно загрузить из mysql .tables_priv. Возможно, таблица повреждена!

2020-03-11T19: 21: 11.360680Z 0 [Предупреждение] [MY-013139] [Сервер] Невозможно загрузить из mysql .tables_priv. Возможно, таблица повреждена!

2020-03-11T19: 21: 11.361259Z 0 [Предупреждение] [MY-013139] [Сервер] Невозможно загрузить из mysql .columns_priv. Возможно, таблица повреждена!

2020-03-11T19: 21: 11.361881Z 0 [Предупреждение] [MY-013139] [Сервер] Невозможно загрузить из mysql .procs_priv. Возможно, таблица повреждена!

2020-03-11T19: 21: 11.362474Z 0 [Предупреждение] [MY-013139] [Сервер] Невозможно загрузить из mysql .procs_priv. Возможно, таблица повреждена!

2020-03-11T19: 21: 11.363076Z 0 [Предупреждение] [MY-013139] [Сервер] Невозможно загрузить с mysql .proxies_priv. Возможно, таблица повреждена!

2020-03-11T19: 21: 11.363713Z 0 [Предупреждение] [MY-013139] [Сервер] Невозможно загрузить с mysql .proxies_priv. Возможно, таблица повреждена!

2020-03-11T19: 21: 11.364309Z 0 [Предупреждение] [MY-013139] [Сервер] Невозможно загрузить с mysql .proxies_priv. Возможно, таблица повреждена!

2020-03-11T19: 21: 11.364908Z 0 [Предупреждение] [MY-013139] [Сервер] Невозможно загрузить из mysql .role_edges. Возможно, таблица повреждена!

2020-03-11T19: 21: 11.365505Z 0 [Предупреждение] [MY-013139] [Сервер] Невозможно загрузить из mysql .role_edges. Возможно, таблица повреждена!

2020-03-11T19: 21: 11.366123Z 0 [Предупреждение] [MY-013139] [Сервер] Невозможно загрузить из mysql .default_roles. Возможно, таблица повреждена!

2020-03-11T19: 21: 11.366774Z 0 [Предупреждение] [MY-013139] [Сервер] Невозможно загрузить из mysql .default_roles. Возможно, таблица повреждена! 2020-03-11T19: 21: 11. 367391Z 0 [Предупреждение] [MY-013139] [Сервер] Невозможно загрузить из mysql .global_grants. Возможно, таблица повреждена!

2020-03-11T19: 21: 11.368010Z 0 [Предупреждение] [MY-013139] [Сервер] Невозможно загрузить из mysql .password_history. Возможно, таблица повреждена! 2020-03-11T19: 21: 11.369081Z 0 [ОШИБКА] [MY-013139] [Сервер] Невозможно загрузить из mysql .global_grants. Возможно, таблица повреждена!

2020-03-11T19: 21: 11.369779Z 0 [ОШИБКА] [MY-010952] [Сервер] Системе привилегий не удалось правильно инициализироваться. Подробные инструкции по обновлению MySQL до новой версии см. В разделе «Обновление MySQL» в руководстве MySQL.

2020-03-11T19: 21: 11.371103Z 0 [ОШИБКА ] [MY-010119] [Сервер] Отмена

2020-03-11T19: 21: 12.355716Z 0 [Система] [MY-010910] [Сервер] C: \ Program Files \ MySQL \ MySQL Сервер 8.0 \ bin \ mysqld.exe: завершение работы завершено (mysqld 8.0.19) MySQL Сервер совместной работы - GPL.

Я попытался запустить mysql_upgrade , который просто сообщает мне, что его нельзя запустить, потому что инструмент обновления устарел ..

Ответы [ 2 ]

0 голосов
/ 11 марта 2020

Я мог бы решить мою проблему. По какой-то причине устаревший инструмент обновления был интегрирован в серверный инструмент. Я должен был запустить

mysqld --defaults-file="C:/ProgramData/MySQL/MySQL Server 8.0/my.ini" --upgrade=FORCE

это было не все к проблеме. По другим неизвестным причинам мой пароль для пользователя root больше не принимался. Поэтому мне пришлось сбросить пароль, выполнив следующую процедуру: Глава 4 Сброс пароля Root: Windows Системы

Резюме: Устранение проблемы с помощью

  1. Использование - файл-значения по умолчанию параметра mysqld для указания на правильный файл my.ini
  2. Исправление пути к правильному каталогу данных в my. INI-файл
  3. выполняется обновление на сервере по параметру - upgrade = FORCE
  4. сброс пароля моего mysql пользователя

Во всяком случае, я до сих пор не понимаю, почему произошло это бедствие ...

0 голосов
/ 11 марта 2020

Одна папка над каталогом данных - это файл my.ini, основной файл конфигурации которого mysql.

Mysql находит этот файл, запуская службу с

"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" MySQL80

Проверьте, правильно ли установлена ​​эта опция

datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...