gpt4 book ai didi

mysql - 如何使用 Peewee 将 Jupyter Notebook 连接到远程 MySQL 数据库?

转载 作者:行者123 更新时间:2023-11-30 21:59:24 25 4
gpt4 key购买 nike

我正在尝试使用 Peewee 连接 MySQL 远程数据库并从中检索数据,但出现以下错误:

InternalError: (1130, "Host 'x.x.x.x' is not allowed to connect to this MariaDB server")

你能帮帮我吗?

最佳答案

"retrieve data from a MySQL remote database"

"Host is not allowed to connect to this MariaDB server"

似乎指向一个简单的问题:

不允许从“外部”连接数据库。


默认情况下,MySql/MariaDB 只监听服务器的“内部”,来自 MariaDb doc :

MariaDB packages bind MariaDB to 127.0.0.1 (the loopback IP address) by default as a security measure using the bind-address configuration directive.

这意味着除了在同一台机器上运行的应用程序(访问 127.0.0.1localhost),您将无法连接。


解决方案:

SSH隧道

这可能是允许连接到远程数据库的最安全的方法。

SSH 是一种允许您连接到服务器的协议(protocol)。它主要用于 unix 服务器上来管理它们,但可以做更多的事情。

如何在您的案例中使用它?

如果可以connect with SSH to your DB server , 然后在你的笔记本上运行这个简单的命令就可以了:

ssh -L 3306:localhost:3306 user@x.x.x.x

让我们稍微解释一下:首先,您运行 SSH,然后,您告诉他启用从您的 3306 端口到 localhost:3306 端口的端口转发您通过 user@IP 连接的服务器。

运行此命令后,来自本地计算机:3306 的每个查询都会发送到您的MariaDB:3306 服务器,让您可以像在任何地方一样使用它服务器。

允许远程访问用户

这个比上一个危险得多。您需要慢慢来,思考它意味着的每一个结果

如前所述,您不能从外部连接,ssh 让您处于“内部”状态,但如果您知道自己在做什么,则可以删除安全措施。

重点是:

  • 创建一个可以从远程 IP 登录的帐户,
  • 允许 MariaDB 监听外部请求,
  • 至少,保护其他帐户以禁用远程连接。

[我现在不放操作方法,如果你真的需要它,我会更新这个答案]

关于mysql - 如何使用 Peewee 将 Jupyter Notebook 连接到远程 MySQL 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43911959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com