如何用Python访问GoDaddy虚拟机中存储的MySQL数据库数据
使用Python访问GoDaddy虚拟机上的MySQL数据库
关于SSH连接失败的说明
你用MySQL的用户名密码尝试SSH连接失败是正常的——MySQL的登录凭据和虚拟机的SSH凭据是两套独立的系统。SSH需要使用你创建GoDaddy虚拟机时设置的SSH用户名(通常是root或自定义用户名)和对应的密码/密钥,而非MySQL的账号密码。
直接用Python连接MySQL(无需SSH)
既然你能用MySQL-Front正常访问,说明你的IP已被允许远程连接该MySQL实例,直接用Python连接即可,无需通过SSH隧道。具体步骤如下:
1. 安装MySQL Python驱动
打开终端执行以下命令安装mysql-connector-python:
pip install mysql-connector-python
2. 编写连接与查询代码
以下是示例代码,替换成你的实际凭据即可:
import mysql.connector import csv # 替换为你的数据库信息 DB_CONFIG = { 'host': '你的主机IP', 'port': '你的端口号', 'user': 'MySQL用户名', 'password': 'MySQL密码', 'database': '目标数据库名' } def fetch_data_and_generate_report(): # 建立数据库连接 conn = mysql.connector.connect(**DB_CONFIG) cursor = conn.cursor(dictionary=True) # 示例:查询某张表的所有数据(替换成你的查询语句) query = "SELECT * FROM 你的表名" cursor.execute(query) results = cursor.fetchall() # 生成CSV格式的报告 if results: with open('数据报告.csv', 'w', newline='', encoding='utf-8') as csvfile: writer = csv.DictWriter(csvfile, fieldnames=results[0].keys()) writer.writeheader() writer.writerows(results) print("报告已生成:数据报告.csv") else: print("未查询到数据") # 关闭连接 cursor.close() conn.close() if __name__ == "__main__": fetch_data_and_generate_report()
3. 注意事项
- 确保GoDaddy的防火墙规则允许你的本地IP访问MySQL端口(默认3306)。
- 如果连接时出现
Access denied错误,检查MySQL用户是否拥有远程访问权限(可在MySQL中执行GRANT ALL ON 数据库名.* TO '用户名'@'你的IP'; FLUSH PRIVILEGES;授权)。 - 若需要更复杂的报告(如Excel、可视化图表),可使用
pandas、openpyxl或matplotlib等库扩展功能。
内容的提问来源于stack exchange,提问作者Skywalker
相关产品推荐
相关产品推荐

