试图在 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 端口转发到 网关中的端口 X
在 Google colab 中使用 X 端口
【讨论】:
非常感谢您的回复,您能否告诉我如何执行您提到的步骤。再次感谢您 @habiba 请在谷歌中搜索如何在设备中转发。此处将 DEVICE 替换为路由器或设备名称和型号。此外,如果这回答了您的问题,请接受作为答案。以上是关于试图在 google colab 上创建与我的本地 mysql 数据库的连接的主要内容,如果未能解决你的问题,请参考以下文章
我在 google colab 上训练了一个 keras 模型。现在无法在我的系统上本地加载它。
在 Google Colab 上与在本地机器上训练 DeepLab ResNet V3 之间的巨大差异