我刚刚安装了 mysql-server-5.7,没有 linux mint 19.1。安装过程中没有提示我设置 root 密码,因此每当我尝试通过命令使用 mysql 时mysql -u root -p
,我都会收到此错误 => Access denied for user 'root'@'localhost'
。
因此我搜索了 stack overflow 并找到了一个涉及将身份验证插件设置为的答案mysql_native_password
。查询看起来像这样...
UPDATE user SET plugin="mysql_native_password";
但是,由于某种原因,我手动输入了命令而不是复制它,而且我似乎写了mysql-native-password
而不是mysql_native_password
(我真傻!!!)
现在我尝试通过各种方式访问 mysql shell,但总是出现以下错误!
ERROR 1524 (HY000): Plugin 'mysql-native-password' is not loaded
我试过...
$sudo mysql -u root
$sudo mysql
$mysql -u root -p
$mysql_upgrade ...
$sudo mysql_secure_installation
但一切都返回了相同的错误
帮助!!!
答案1
我最近遇到了同样的问题,但使用的是 mysql 8.4。因此,解决方案与 mysql 一致文档是
使用 --mysql-native-password=ON 启动服务器(在 MySQL 8.4.0 中添加),或者在 MySQL 配置文件的 [mysqld] 部分中包含 mysql_native_password=ON
答案2
嗨,我遇到了同样的情况 - 我通过完全卸载 mySQL 并运行全新安装成功解决了该问题。我使用以下命令进行卸载:
sudo -i
service mysql stop
killall -KILL mysql mysqld_safe mysqld
apt-get --yes purge mysql-server mysql-client
apt-get --yes autoremove --purge
apt-get autoclean
deluser --remove-home mysql
delgroup mysql
rm -rf /etc/apparmor.d/abstractions/mysql /etc/apparmor.d/cache/usr.sbin.mysqld /etc/mysql /var/lib/mysql /var/log/mysql* /var/log/upstart/mysql.log* /var/run/mysqld
updatedb
exit
然后根据您的操作系统要求运行全新安装(在我的情况下是 Ubuntu):
sudo apt update
sudo apt install mysql-server