DBeaver有个好用的功能:导出/还原数据库,可以方便地将MySql数据的结构以及数据迁移或者备份。但如果目标数据库是MySql 8.0,可能就会报错:
mysqldump: Got error: 2059: Authentication plugin 'caching_sha2_password' cannot be loaded
这是因为MySql 8.0 更换了新的身份验证caching_sha2_password,而之前身份验证是mysql_native_password,DBeaver客户端软件不支持新的身份验证,也就是说新的身份验证找不到caching_sha2_password
这种情况,有两个解决方法。两个方法都能解决这个问题,任选其一即可。
1,更改目标MySql DB的登录密码加密规则
可以参考:
Authentication plugin 'caching_sha2_password' cannot be loaded
异常2059-Authentication plugin ‘caching_sha2_password‘ cannot be loaded
2,更新DBeaver相关驱动
参见:
DBeaver Documentation Database backup/restore
我们可以下载8.0版本的mysql.exe 和 mysqldump.exe,然后更新DBeaver的local client
在zip包下载完成后,解压。
在“导出数据库”页面点击“Local Client”,在弹出的对话框的下拉列表选择“Browse...”
然后在弹出的Database CLient Homes对话框点击“Add Home”,选择刚才解压的MySql8.0存放着mysql.exe 和 mysqldump.exe的文件夹路径即可。
本人之前安装了MySQL Workbench 8.0 CE,所以也没有下载并且解压MySql8.0,直接引用了MySQL Workbench 8.0 CE的相关文件夹路径就可以了
最后,只要DBeaver的Local Client选择刚才添加的路径即可。