I'm getting the exact same problem as this question。问题在于,在我的情况下,解决方案的组织方式并没有很容易理解。
MySQL表示:无法加载身份验证插件'caching_sha2_password':dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so,2):找不到映像
我没有任何东西可以在macs系统偏好设置中初始化数据库。第二个答案是:
转到my.cnf文件,然后在[mysqld]部分中添加行:
default-authentication-plugin=mysql_native_password
从终端run mysql -u root -p
登录到mysql服务器,然后在shell内执行以下命令:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[password]';
从mysql shell退出并退出,然后运行sudo服务mysqld restart
关于where to find my.cnf is found in this post的信息并指出:
mysql --help
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
The following groups are read: mysql client
The following options may be given as the first argument:
--print-defaults Print the program argument list and exit.
--no-defaults Don't read default options from any option file.
--defaults-file=# Only read default options from the given file #.
--defaults-extra-file=# Read this file after the global files are read.
my.cnf文件似乎存在三个区域,我不知道要编辑哪个区域,也不知道应如何编辑。
Another solution I have found is from this thread:
在安装MySQL之后,使用CLI进行身份验证,例如
mysql -uroot
然后运行以下命令以使用旧的身份验证方法:
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
最后,刷新特权:
FLUSH PRIVILEGES;
现在,您应该能够再次使用SequelPro(使用指定的密码)进行连接。
据报道,第二个解决方案导致续集pro在答案注释中被多个用户崩溃,所以我猜它很hacky。
如何将mysql ver 8.0.12连接到sequel pro?我应该只使用另一个GUI吗?看来这个问题也发生在工作台上
以防万一有人询问我使用的是Mac OSX Sierra 10.13.5
答案 0 :(得分:0)
这是在安装了brew 8的mysql 8的macOS Mojave(10.14.3)上为我工作的内容。
1)将此行添加到/ usr / local / etc中的my.cnf
default-authentication-plugin=mysql_native_password
2)以root用户身份在命令行上连接到正在运行的mysql服务器,然后输入:
ALTER USER 'root'@'localhost'
IDENTIFIED WITH mysql_native_password
BY 'password';
用您的mysql服务器的根密码替换“密码”。
3)为确保所有更改都被我重新启动的mysql服务器接收到,
这些说明来自mysql.com文档,您可以在这里找到: