美文网首页
MySQL 8.x 的问题解决过程

MySQL 8.x 的问题解决过程

作者: panyanyany | 来源:发表于2019-02-05 20:26 被阅读2次

使用 Sequal Pro 或 MySQL Workbench 连接时会出现:

Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): image not found

这是由于该客户端不支持 caching_sha2_password 导致。
要想解决问题,只能等它们升级更新。

或者 修改 MySQL 8.x 的 authentication plugin

步骤如下:

修改 my.cnf

通过 mysql —help | grep cnf 找到可能的 cnf 文件,然后一个个去打开。
然后在 [mysqld] setion 中增加(或替换)这一句:
default_authentication_plugin=mysql_native_password

当然了,到这一部,你还是无法连上 MySQL 服务器,还是会报一样的错误。
因为你虽然改了全局配置,但用户配置没改

所以……

修改用户配置

命令行进入 MySQL 后:

use mysql;
update user set plugin = 'mysql_native_password';

然后可以(选择性地)修改用户密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

之后记得要 restart 一下 mysql service
在 mac 下是:brew services restart mysql

MySQL 升级导致 Laravel 无法连接的问题

报错如下:

Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'

参考 so 上的回答
在 config/database.php 中加入:

[
    'connections' => [
        'mysql' =>
            'modes'  => [
            'ONLY_FULL_GROUP_BY',
            'STRICT_TRANS_TABLES',
            'NO_ZERO_IN_DATE',
            'NO_ZERO_DATE',
            'ERROR_FOR_DIVISION_BY_ZERO',
            'NO_ENGINE_SUBSTITUTION',
            ]
        ]
]

相关文章

网友评论

      本文标题:MySQL 8.x 的问题解决过程

      本文链接:https://www.haomeiwen.com/subject/jxwvsqtx.html