zoukankan      html  css  js  c++  java
  • SqlYog无法连接mysql数据库(包括docker环境)的解决方法

    Sqlyog安装后连接mysql数据库,报错:2058.

    这是密码加密算法更新导致的,解决如下:

    1.打开cmd 连接数据库:

    mysql -h localhost -P 3306 -u root -p123456

    2.进入mysql依次执行下面语句

    ①修改加密规则(注意不要忘记写分号“;”)

    alter user 'root'@'localhost' identified by 'root' password expire never;

    ②更新密码为“Root123"

    alater user 'root'@'localhost' identified with mysql_native_password by 'Root123';

    ③刷新权限

    flush privileges;

    如果是本地安装的mysql数据库,执行完以上步骤再连接应该就没有问题了。

    但是在docker中安装的mysql这样操作没有解决问题,而且连密码都没有修改成功,不知道是第②步弄错了还是什么原因,执行以下查询语句后发现跟本机安装的mysql查询出来的内容不一样,不知道是不是版本问题。

    SELECT HOST,USER,PLUGIN FROM mysql.user;

    结果如下:

     发现多了一行Host值为“%”的,User为“root”的数据,算法依然是caching_sha2_password.

    于是再将这个root用的密码加密算法修改为"mysql_native_password",并将密码修改为 “Root123”

    alter user 'root'@'%' identified with mysql_native_password by 'Root123';

    刷新权限

    flush privileges;

    然后再连接就没有问题了。

    猜想了一下应该是mysql的版本问题,docker中安装的是最新的8.0.19版本,而本机安装的是8.0.11,只是猜想没有验证,有兴趣的可以验证一下。

  • 相关阅读:
    高版本Visual Studio和低版本ArcGIS共存 工具箱没有控件的解决方法
    Geodesic 什么是“测地线的”?
    向QGIS项目组提交了一份建议
    QGIS 3.4 3.6 另存栅格图层到GeoPackage出现覆盖问题 解决方案
    Dijkstra.NET 库体验报告
    QGIS练手
    GeoPackage
    QGIS练手
    postgresql 修改字段名称
    django signal
  • 原文地址:https://www.cnblogs.com/leasonYin/p/12287183.html
Copyright © 2011-2022 走看看