3 MySQL8 因加密规则改变而出现的错误(Navicat DBeaver)

哎哟,最近有个事儿让我挺头疼的。
我之前用着挺顺手的MySQL数据库,升级到8 .0版本后,跟Navicat和DBeaver这两个数据库管理工具就杠上了。
你说这事儿闹的,升级个数据库还得跟工具较劲。

先说Navicat吧,升级到MySQL8 之后,我一连接就给我来个“authentication plugin 'caching_sha2 _password' cannot be loaded”的错误。
这啥意思呢?其实就是MySQL8 默认用的这个认证插件,Navicat不支持。
我查了查资料,发现得升级Navicat到1 5 或更高版本,这才支持这个新的认证插件。
我赶紧去官网下了一个最新的版本,一试,嘿,还真好使了。

不过,DBeaver这事儿就麻烦了。
它给我来个“PublicKey Retrieval is not allowed”的错误。
这又是啥意思?原来是因为DBeaver没开公钥检索功能,而且MySQL8 默认的认证插件也不支持mysql_native_password了。
我试着在DBeaver里把allowPublicKeyRetrieval的值改成了true,结果还是不行。

后来我琢磨了一下,干脆在MySQL里改一下密码加密规则,用回mysql_native_password。
这操作有点复杂,得先进入MySQL命令行,然后改密码、改加密规则,最后刷新权限。
这个过程我之前没做过,硬着头皮试了试,还真搞定了。

具体操作是这样的:先以管理员身份运行cmd,然后进入MySQL,改一下root用户的密码,让它永不失效,然后改加密规则,刷新权限。
最后,如果mysql_native_password插件没被禁用,还得在MySQL配置文件里把它打开,重启MySQL服务。

这个过程我用了好半天,心里那个急啊。
不过,最后总算是搞定了。
这事儿让我深刻体会到,数据库升级可真是个技术活,得方方面面都考虑到。
以后再升级数据库,我得提前做好功课,别再踩坑了。

MySQL8.0 基本修改用户名密码创建用户(有待补充)

管理员和普通用户权限分开是MySQL8 .0的规矩。
管理员能管用户,普通用户只能管自己。

改密码用这个: sql ALTER USER 'example'@'localhost' IDENTIFIED BY 'newpassword';
改自己密码用这个: sql ALTER USER 'current_user'@'localhost' IDENTIFIED BY 'newpassword';
加用户,给点权限: sql CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'newpass'; GRANT SELECT, INSERT, UPDATE, DELETE ON testdb. TO 'newuser'@'localhost';
注意:创建用户后,新用户得先登录才能用权限。
服务器配置要对,权限要给够,安全策略得明白。

普通用户能改自己密码就行。
管理员才能改别人密码。
你自己看。

百度知道页面加载了多个 JS 文件。
这些文件用于实现页面功能,如用户导航、消息列表渲染、搜索框等。
具体文件包括 userbar-renew、search-box-new、footer 等。
加载过程中使用了 require.js 框架进行模块化管理。
部分代码涉及用户行为统计和日志记录。
还包含了对旧版 IE 的兼容处理。
页面底部有百度联盟广告代码。
整体加载多个资源文件,确保功能完整。