本地navcat怎么连接云服务器里的数据库
首先要检查云服务器里的应用管理-是否有对应的数据库。然后通过运行 cat ~lighthouse/credentials.txt
来查看数据库的登录密码(云服务器数据库的默认密码强度足够高,如果你想自己设置,一定要设置足够复杂的密码,这是血淋淋的教训)。
然后把你的ip 端口 用户名 密码输入navcat。下面是可能遇到的问题:
1130 - Host '222.92.143.173'is not allowed to connect to this MariaDB server
错误消息“1130 - Host '222.92.143.173' is not allowed to connect to this MariaDB server”表明来自特定IP地址(在本例中是222.92.143.173)的客户端尝试连接到MariaDB服务器时,该服务器的配置不允许来自该IP的连接。这通常是因为MariaDB的 user
表中的 host
字段没有为相应的用户配置为允许该IP地址或任何IP地址(通常使用通配符 %
表示)。
要解决这个问题,您可以采取以下步骤:
- 连接数据库
ssh远程到对于的linux服务器,使用mysql -u root -p 回车输入密码再次回车进行登录
登录MariaDB后,显示MariaDB [(none)]> 如果你希望选择一个数据库作为当前工作数据库,可以使用USE
语句。例如,如果你想选择名为mydatabase
的数据库,可以执行以下命令:USE mydatabase;
- 访问MariaDB服务器:
您需要有足够的权限来登录到MariaDB服务器。这通常意味着您需要服务器的SSH访问权限以及MariaDB的root用户或其他具有足够权限的用户的凭据。 检查用户权限:
登录到MariaDB后,您可以检查mysql.user
表来查看特定用户的权限设置。使用以下SQL命令:SELECT user, host FROM mysql.user WHERE user = 'your_username';
将
your_username
替换为尝试连接的用户名。这将显示该用户的所有主机条目。更新用户权限:
如果host
字段中没有条目允许来自222.92.143.173的连接,您可能需要更新它。如果您想允许该用户从任何IP地址连接,可以使用以下命令(注意,这可能会带来安全风险,因为它允许从任何网络地址进行连接):GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION; FLUSH PRIVILEGES;
或者,如果您只想允许来自特定IP的连接,可以这样做:
GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'222.92.143.173' IDENTIFIED BY 'your_password' WITH GRANT OPTION; FLUSH PRIVILEGES;
但是,请注意,如果用户已经存在并且您只是想要更改其主机设置,您可能需要先删除现有的用户条目(这可能会导致数据丢失,除非您非常确定自己在做什么),然后重新创建它,或者使用
UPDATE
语句直接修改mysql.user
表(这通常不推荐,因为它可能会绕过MariaDB的安全机制)。- 考虑安全性:
允许从任何IP地址连接可能会使您的数据库面临安全风险。相反,考虑配置防火墙规则以限制对MariaDB端口的访问,并仅允许受信任的IP地址进行连接。 - 重启MariaDB服务:
在某些情况下,您可能需要重启MariaDB服务才能使更改生效。这可以通过您的服务器的服务管理工具来完成。 - 测试连接:
最后,从222.92.143.173或其他允许的IP地址尝试重新连接,以确保更改已正确应用。
注意云服务器的防火墙
防火墙只控制服务器的入流量,出流量默认允许所有请求,可以设置允许或禁止公网或内网对轻量应用服务器实例的访问,未配置规则等同于禁止访问。如何配置防火墙规则
如有发现无法访问接口和静态资源的情况,注意检查防火墙。
评论