mysql - MySQL 工作台说握手不好
问题描述
我尝试从服务器连接数据库,但 MySQL Workbench 说无法建立连接并将其声明为 Bad Handshake。有人可以帮我弄这个吗?但是,如果我使用相同的用户 ID 和密码以及数据库连接,它可以在其他计算机系统上运行。有人可以解决这个问题吗?
解决方案
认证从 mysql V8 改变,您必须使用兼容的客户端和服务器。
顺便说一句,这是一个错误:https ://bugs.mysql.com/bug.php?id=91828
这是一种无需卸载新工作台的解决方法。
最可能的情况是旧服务器带有新工作台:
- 获取服务器版本
从 SQL cli 工具:
SHOW VARIABLES LIKE "%version%";
或从服务器上连接的 cli:
$ mysql -v
它应该显示版本 < 8.0,在我的例子中是 5.1.73
- 获取版本 <8.0 的 mysqlWorkbench:
如果您已经有工作台 V8.0,则无法安装 msi,因此您必须在此处选择 zip 文件形式的便携式安装:
https://dev.mysql.com/downloads/workbench/6.1.html
选择版本 6.2.5(最后在 v8.0 之前)zip 版本
解压
关闭工作台 v.8(它会锁定任何其他工作台启动)
启动工作台 V6.2.3 版本,它应该可以工作。
推荐阅读
- ios - 如何在 XCUITest 中访问 iOS 14 时间选择器
- java - 运行所有测试用例时,我的测试用例失败。但是单独跑的时候通过
- python - 如何动态生成外部 CSS?
- php - PHP 警告:mysqli_stmt_bind_param():类型定义字符串中的元素数与绑定变量数不匹配
- swift - Parse Server Swift Logic 用于抓取数组中包含的所有项目
- c# - 谁能解释 C# 8.0 中的默认接口实现是什么?
- r - 如何轻松地对数据框中的特定数据进行子集化?
- python - Python函数不改变变量
- c++ - C++,将整数字节打包成一个字符数组?
- php - 为什么使用数组推送不附加到 PHP 中的关联数组