mysql_upgrade и служба MySQL - порочный круг - PullRequest
0 голосов
/ 25 мая 2018

Я обновляю сервер MySQL 5.067 до 5.5.60 в Windows 10.

Я остановил службу, заменил bin общий каталог и запустил службу.

Ошибка запуска службы с сообщением(в Event Viewer):

Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
For more information, see Help and Support Center at http://www.mysql.com. 

ОК, поэтому я открыл cmd с правами администратора с помощью команды:

mysql_upgrade --port 64202

С результатом:

Looking for 'mysql.exe' as: C:\Program Files (x86)\XXX\MySQLServer\bin\mysql.exe
Looking for 'mysqlcheck.exe' as: C:\Program Files (x86)\XXX\MySQLServer\bin\mysqlcheck.exe
Error: Failed while fetching Server version! Could be due to unauthorized access.
FATAL ERROR: Upgrade failed

ДизайнMySQL обновление подключается через TCP к MySQL для запуска обновления, но как это может работать, если служба не запущена?Это замкнутый круг - служба MySQL должна быть обновлена, чтобы иметь возможность запуска, и mysql_upgrade должен подключиться к работающей службе.

Что не так?

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Пропуск основных версий (5.1) не поддерживается и может работать, а может и не работать.Соответствующее обновление является одним из:

План A: Обновление до 5.1, затем до 5.5.Выполните mysql_upgrade на каждом шаге .

Plan B: Сброс данных из 5.0 с помощью mysqldump.(Обязательно получите рутины и тд).Забей (или обойди) 5.0 и установи свежую 5.5.Загрузите данные обратно. В файле дампа могут быть ошибки синтаксиса, при необходимости отредактируйте файл.

0 голосов
/ 28 мая 2018

Поскольку вы обновляете с 5.0 до 5.5, есть значения конфигурации, которые устарели, из-за чего двигатель не может запуститься.

Скорее всего, виновником является skip-dbd, как объяснено на this site .

Итак: найдите свой конфигурационный файл MySQL, закомментируйте параметр skip-dbd и перезапустите службу MySQL.Затем вы можете запустить mysql_upgrade с соответствующими параметрами, включая аутентификацию.

...