navicat 出现1044/1045错误是网友们一直头疼的问题,本文以此进行详细介绍,需要了解的朋友可以参考下
in navicat for mysql,postgresql and oracle
产生错误的原因是mysql帐户连接到远程mysql服务器没有足够的权限。
mysql安装后默认仅允许localhost连接。因此多数服务器端的脚本程序很容易连接到本地服务器的本地数据库。客户端计算机被远程服务器阻止直到配置好用户权限。
如果您想从您的桌面访问远程mysql服务器,首先需要知道mysql系统工作的权限。
用户信息存储在名字为mysql数据库的user, db, host, tables_priv和 columns_priv表中。mysql服务器启动时读这些表的内容。
mysql访问控制涉及两个阶段:
1.服务器检查您的桌面(主机地址或ip地址)是允许连接。
2.假设可以连接,服务器检查每个请求,看看你是否有足够的权限来执行它。例如,创建表的权限,删除表的权限或修改表的权限。
mysql服务器在两个阶段访问控制使用mysql数据库的user, db,和host 表。
如果您的远程服务器支持ssh连接,你的navicat将能够通过ssh隧道与远程mysql数据库连接,而不进行任何更改现有的mysql的权限设置。该隧道的ssh的主要优点是它允许我们可以从后面连接到mysql服务器被防火墙阻止的端口,
步骤:
你可以在mysql服务器的命令提示符下运行以下命令。请咨询您的数据库管理员,因为他们通常会具有设置权限的管理权。
代码如下:
grant all privileges on *.* to 'yourusername'@'%' identified by yourpassword;
或者
代码如下:
grant all privileges on *.* to 'yourusername'@'yourip' identified by yourpassword;