问题
当我使用用户登录时会出现无法登录的结果,需要系统权限为root,也就是每次登录都要使用sudo mysql -u root -p
才可以登录
原因
新版本的MySQL就是这样做的
在新的MySQL客户端中,如果安装时密码留空,则基于插件auth_socket
这里我们看到在mysql存储密码为空那么默认使用插件auth_socket
解决方法
- 正确的方法是使用权限登录MySQL sudo。
sudo mysql -u root -p
- 然后使用以下命令更新密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password';
= 完成此操作后,我们可以看到插件变化为使用用户的密码
- 停止并启动MySQL 服务器。
sudo service mysql stop
sudo service mysql start