我正在尝试Peewee从MySQL远程数据库连接和检索数据,但是我收到以下错误:
InternalError:(1130,“不允许”主机'x.x.x.x'连接到此MariaDB服务器“)
你能帮帮我吗?
答案 0 :(得分:0)
"从MySQL远程数据库中检索数据"
"不允许主机连接到此MariaDB服务器"
似乎指出一个简单的问题:
您不允许在"外部"上连接数据库。
默认情况下,MySql / MariaDB仅监听"内部"服务器的来自MariaDb doc:
MariaDB软件包默认将MariaDB绑定到127.0.0.1(环回IP地址)作为使用bind-address配置指令的安全措施。
这意味着,对于在同一台计算机上运行的应用程序(访问127.0.0.1
或localhost
),您将无法连接。
这可能是允许连接远程数据库的最安全的方法。
SSH是一种允许您连接到服务器的协议。它主要用于unix服务器来管理它们,但可以做更多的事情。
如何在您的情况下使用它?
如果你可以connect with SSH to your DB server,那么在你的笔记本上运行这个简单的命令就可以了:
ssh -L 3306:localhost:3306 user@x.x.x.x
让我们解释一下:首先,你运行SSH,然后,你告诉他启用从3306
端口到你通过{{1}连接的服务器的localhost:3306
端口的端口转发}。
运行此命令后,user@IP
中的每个查询都将发送到您的local machine:3306
服务器,允许您像使用服务器一样使用它。
这个比前一个更危险。你需要花时间和思考它的每一个结果。
正如已经说过的那样,你不允许从外面联系,ssh让你成为"内部",但如果你知道你做了什么,你就可以删除安全性。
重点是:
[我现在没有提供方法,如果你真的需要它,我会更新这个答案]