python - Jupyter Notebook 无法连接到本地 MySQL 数据库
问题描述
我正在尝试将我使用 Google Colab 的 Jupyter Notebook 与我的本地 MySQL 数据库连接起来。当我在我首选的 IDE PyCharm 中运行此脚本时,它没有问题。只有当我在 Google Colab 或 Project Jupyter 中运行它时,都会出现相同的错误,才会发生这种情况。
import pymysql
import pandas as pd
mySQLuser = 'username'
mySQLpasswd = 'password'
mySQLhost = '127.0.0.1'
mySQLport = '3306'
mySQLdatabase = 'databasename'
connection = pymysql.connect(user = mySQLuser, passwd = mySQLpasswd, host = mySQLhost, port = mySQLport, db = mySQLdatabase)
我也对 sqlalchemy(create_engine) 和 mysql.connector 进行了同样的尝试,但得到了同样的错误。
OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno 111] Connection denied)")
我还尝试向用户授予所有权限,但这并没有改变任何东西。我在网上看到的另一个建议是将配置文件(my.ini)中的绑定地址设置为空或更改,但这也没有影响任何事情。
解决方案
您确定您的 colab/jupyter 实例在本地运行吗?
如果不是这种情况,您将无法访问 localhost (127.0.0.1) 上的 SQL 数据库,直到您可以远程访问它(这意味着几个步骤:使其可访问,更改mySQLhost
代码中的地址,授权来自SQL 设置中的主机服务器)。
推荐阅读
- javascript - 如何在 nodejs 中创建双工流?
- python - Python3:是否有任何包/函数/脚本来获取对磁盘上包的元数据(egg-info 或 dist-info)的引用?
- java - 用 C# 在 Selenium 中用 java 函数 get() 和 getAttribute() 替换 Selenium
- javascript - java - 如何在java脚本中迭代和打印java表单对象的属性?
- php - php删除特定字符后的其余文本
- docker-compose - Docker-compose:/usr/local/bin/docker-compose:第 1 行:Not:找不到命令
- reporting-services - 如何使用 Lookup 函数从两个属性中获取值?
- javascript - 在 dataTable 内的 JavaScript 处理中禁用按钮
- javascript - 嵌套的 Object.keys() 多次打印属性,而不是只打印一次
- f# - 计算字符串中字符的出现次数并返回一个整数列表,显示字母表中每个字母出现的次数