mysql的2059问题及解决方式

04-27 1591阅读

Navicat 连接 MySQL 8.0.11 时出现 2059 错误,可能由以下原因导致:

  1. MySQL 用户权限问题:在 MySQL 8.0.11 中,用户需要具有适当的权限才能连接到数据库。如果用户没有足够的权限,Navicat 将无法连接到 MySQL 服务器。
  2. MySQL 服务端配置问题:MySQL 服务端可能被配置为只允许来自特定 IP 地址的连接。如果 Navicat 尝试从其他 IP 地址连接,它将无法连接到 MySQL 服务器。
  3. 网络问题:网络问题可能导致 Navicat 无法连接到 MySQL 服务器。例如,防火墙可能阻止 Navicat 与 MySQL 服务器进行通信。

以下是一些可能的解决方案:

  1. 检查 MySQL 用户权限:登录到 MySQL 服务器,检查连接 Navicat 的用户是否具有适当的权限。如果没有,请授予用户适当的权限。例如,授予用户所有数据库的所有权限:

    mysql的2059问题及解决方式
    (图片来源网络,侵删)
sql复制代码
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';
修改mysql.ini文件
bind-address = 0.0.0.0
  1. 检查 MySQL 服务端配置:登录到 MySQL 服务器,检查服务端的配置文件(通常是 my.cnf 或 my.ini)。确保 MySQL 允许来自 Navicat 的连接。例如,确保以下行在配置文件中未被注释掉:
  2. 检查网络设置:确保 Navicat 与 MySQL 服务器之间的网络连接是可用的。尝试在 Navicat 中连接到其他数据库,以检查网络是否正常工作。如果网络有问题,请联系网络管理员或 ISP。
  3. 更新 Navicat:如果您使用的是较旧的 Navicat 版本,尝试更新到最新版本。新版本可能修复了与 MySQL 8.0.11 连接的问题。
  4. 检查防火墙设置:确保防火墙不会阻止 Navicat 与 MySQL 服务器之间的连接。可能需要将 MySQL 的端口(通常是 3306)添加到防火墙规则中。
  5. 检查 MySQL 服务状态:确保 MySQL 服务正在运行,并且可以从 Navicat 的 IP 地址接受连接。可以尝试重启 MySQL 服务来解决任何连接问题。
  6. 使用 MySQL Connector/C++:如果以上方法都无法解决问题,可以尝试使用 MySQL Connector/C++ 来连接 MySQL 服务器。这是一个独立的库,可用于连接到 MySQL 服务器并执行查询。它可能比 Navicat 内置的连接器更可靠。
解决办法

登录mysql账号

mysql -uroot -p 

选择数据库

use mysql; 

修改加密方式( 远程连接请将 ’localhost’ 换成 ’%’  )

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘你的密码’ PASSWORD EXPIRE NEVER;

更新用户密码

ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的密码’;

刷新权限

FLUSH PRIVILEGES; 
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]