MySQL升级到8.0客户端链接失败返回1251解决方案

2022年01月14日 阅读数:4
这篇文章主要向大家介绍MySQL升级到8.0客户端链接失败返回1251解决方案,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

场景mysql

      以前MySQL服务器版本是5.7,升级到8.0之后,修复漏洞,致使后台C++服务调用mysql_real_connect函数返回1251,链接数据库失败的错误码sql


缘由数据库

      MySQL8.0默认采用了新的caching_sha2_password的身份验证方式,而客户端libmysql库采用的仍是mysql_native_password方式验证方式,因此才会出现这个问题服务器


解决方案ide

须要将默认的链接方式及root帐户的链接方式恢复为旧的mysql_native_password方式,执行以下的指令,函数

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password  BY 'root@123';spa

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

FLUSH PRIVILEGES;it