На днях апргрейднув MySQL c 5.5 до 8.0, о чем в последствии пожалел, я столкнулся с целой горой проблем. Одной из них стала ошибка авторизации пользователя root.
Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such fileor directoryВ блогах разработчиков MySQL 8 нашел информацию, что данная библиотека встроена в сам исходник MySQL, поэтому проблема решается изменением способа идентификации пользователя. Для этого необходимо:
Остановить MySQL сервер:
serice mysqld stopЗапустить сервер без таблиц с доступами:
mysqld --skip-grant-tables --user=mysql &Обратите внимание: амперсанд (&) обязателен в конце команды. Он позволяет запустить инстанс MySQL в фоновом режиме, и показывает PID запущенного процесса, по которому мы потом сможем его закрыть.
Заходим в консоль MySQL:
mysqlИ вводим команды:
FLUSH PRIVILEGES;ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newPassword';Выходим:
quitИ закрываем созданный инстанс по PID:
kill <PID>Запускаем сервис MySQL и проверяем соединение:
service mysqld start
mysql -uroot -p

