1044/1045 - Access denied for user 'username'@'yourhost'...

可应用操作系统:Windows、macOS、Linux、iOS

可应用 Navicat 产品:Navicat for MySQL、Navicat for MariaDB、Navicat Premium

可应用 Navicat 版本编号:全部



这错误是由你的远程 MySQL 服务器返回,表示你的用户没有足够权限连接服务器。

安装了 MySQL 数据库后,默认情况下它只允许 "localhost" 连接。因此,大多数服务器端脚本程序可以很容易连接同一服务器中的本地数据库。任何客户端计算机会被远程 MySQL 服务器封锁,直到配置了用户权限。

如果你要从你的桌面访问你的远程 MySQL 服务器,你首先需要知道 MySQL 权限系统如何运作。有关用户权限的信息是保存 在mysql 数据库(即在名为 mysql 的数据库)中的 user、db、host、tables_priv 和 columns_priv 表内。当 MySQL 服务器启动时,它会读取这些表的内容。

MySQL 访问控制将包括两个階段:

1. 服务器检查你的桌面(主机地址或 IP 地址)是否允许连接。
2. 假设你可以连接,服务器会检查你的每个请求,看你是否有足够的权限运行它。例如:Create table 权限、Drop table 权限或 Alter table 权限。

MySQL 服务器在这两个階段的访问控制使用 Mysql 数据库中的 User、Db 和 Host 表。

如果你的远程服务器支持 SSH 连接,你的 Navicat 将能够通过 SSH 隧道连接远程 MySQL 数据库,而不需更改任何现有的 MySQL 权限设置。SSH 隧道的主要好处是当服务器端口被封锁时,连接到使用了防火墙的服务器。

步骤:

你可以在你的 MySQL 服务器命令字元运行以下命令。请咨询你的数据库管理员,因为他们通常会有设置权限的管理权。

GRANT ALL PRIVILEGES ON *.* TO 'YourUserName'@'%' IDENTIFIED BY "YourPassword";

GRANT ALL PRIVILEGES ON *.* TO 'YourUserName'@'YourIP' IDENTIFIED BY "YourPassword";

相关文章

还有其他问题吗?
提交查询