mysql8.0之后默认使用caching_sha2_password作为默认的身份验证插件,而不再是mysql_native_password,但是客户端暂时不支持这个插件导致的。
解决方案:
第一步
macos下默认没有配置文件,先在/etc下创建my.cnf,具体参数百度搜索。
在my.cnf下 添加一行
[mysqld]
default_authentication_plugin= mysql_native_password
注意!不要添加[mysqld]skip-grant-tables,百度上很多方案都有问题的。
mysql添加配置文件my.cnf
手动关闭mysql服务,或者命令关闭mysql服务
第二步
1、进入终端输入:cd /usr/local/mysql/bin
2、车后 登录管理员权限 sudo su (输入你电脑的密码)
3、回车后输入以下命令来禁止mysql验证功能 ./mysqld_safe --skip-grant-tables(注意是mysqld)
4、回车后mysql会自动重启(偏好设置中mysql的状态会变成running)
第三步
1、输入命令 ./mysql
2、回车后,输入命令 FLUSH PRIVILEGES;
3、回车后,输入命令 ALTER user ‘root‘@‘localhost‘ IDENTIFIED BY ‘123456‘ (123456,这是新密码随意写一个记住的)
第四步
重启mysql