试图在 google colab 上创建与我的本地 mysql 数据库的连接

Posted

技术标签:

【中文标题】试图在 google colab 上创建与我的本地 mysql 数据库的连接【英文标题】:trying to create a connection with my local mysql database on google colab 【发布时间】:2021-11-05 00:34:40 【问题描述】:
!pip install Pymysql
!pip install mysql-connector-python
from sqlalchemy import  create_engine
engine = create_engine("mysql+pymysql://bisma:1234>@public_ip_machine/emoji_pwd")
import pandas as pd
query= 'select * from users'
df = pd.read_sql(query,engine)

我已经尝试使用我的本地机器 IP 地址,从 https://www.whatismyip.com/what-is-my-public-ip-address/ 获取我的公共 IP,它给了我超时错误,当我使用 127.0.0.1 时它显示 OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno 111] Connection denied)") 我用端口号也试过了,'ip_address:3306' 同样的错误。

我在其他答案中阅读了有关为远程连接配置 mysql 的信息,遵循这些步骤 将所有 emoji_pwd.* 授予 'root'@'%'; 刷新特权;

my.ini 文件中没有绑定地址,所以我添加了 bind-address=0.0.0.0 已重新启动 mysql 服务但它仍然无法正常工作,任何人都可以帮助我想使用 google colab 在我的本地计算机中创建与 mysql 数据库的连接。谢谢

【问题讨论】:

【参考方案1】:

这是您的网络。

     +----------------------------+                           
     |                            |                           
     |  +--------+          +---------+           +----------+
     |  |        |          |         |           |          |
     |  |  Mysql +----------+ Gateway +-----------+Google Col|
     |  |        |          |         |           |          |
     |  +--------+          +--+------+           +----------+
     |                      |  |  |                           
     |  +--------+          |  |  |                           
     |  | Host-1 |----------+  |  |                           
     |  +--------+             |  |                           
     |                         |  |                           
     |  +--------+             |  |                           
     |  | Host-2 |-------------+  |                           
     |  +--------+                |                           
     +----------------------------+                                   

当您检查 what-is-my-ip-address 时,它会显示 网关 的传出 IP。如果您在 Google colab 中使用它,它将连接到您的 Gateway。这不是您的 MySQL 服务器。此外,您的 Gateway 不知道如何将该流量转发到 MySQL 服务器。由于网络内还有其他主机。

你需要做什么?

    找到网关(有时是路由器) 将其配置为将 MySQL 端口转发到 网关中的端口 XGoogle colab 中使用 X 端口

【讨论】:

非常感谢您的回复,您能否告诉我如何执行您提到的步骤。再次感谢您 @habiba 请在谷歌中搜索如何在设备中转发。此处将 DEVICE 替换为路由器或设备名称和型号。此外,如果这回答了您的问题,请接受作为答案。

以上是关于试图在 google colab 上创建与我的本地 mysql 数据库的连接的主要内容,如果未能解决你的问题,请参考以下文章

我在 google colab 上训练了一个 keras 模型。现在无法在我的系统上本地加载它。

在 Google Colab 上与在本地机器上训练 DeepLab ResNet V3 之间的巨大差异

在 Google Colab 中打开网络摄像头

Conda 环境 Google Colab

将文件从已安装的 Google Drive 复制到本地 Google Colab 会话

使用 GPU 连接到本地运行时 google colab 需要 tensorflow-gpu?