Termux访问FreeSQLDatabase报错排查及Python访问方法咨询
关于FreeSQLDatabase数据库访问的问题解答
1. Termux终端访问错误的解决方法
你执行的命令存在参数格式错误:小写的-p是用于指定密码的参数,你把端口3306跟在-p后面,系统会误将3306识别为要访问的数据库名,这才触发了权限报错。
正确的命令格式需要用**大写的-P**指定端口,-p单独留空(后续会提示输入密码),或者直接跟上密码(注意-p和密码之间不能有空格):
- 方式一(推荐,避免密码明文暴露):
mysql -u sql12592118 -h sql12.freesqldatabase.com -P 3306 -p
执行后按提示输入邮件提供的密码即可。
- 方式二(直接在命令里写入密码):
mysql -u sql12592118 -h sql12.freesqldatabase.com -P 3306 -p你的数据库密码
如果Termux中还未安装MySQL客户端,先执行以下命令完成安装:
pkg install mysql
2. Python访问该数据库的模块选择
MySQL Connector完全适用,另外pymysql也是常用的可选模块,两者都能正常连接FreeSQLDatabase的MySQL数据库。
示例代码(MySQL Connector)
先安装模块:
pip install mysql-connector-python
连接并执行查询的示例:
import mysql.connector # 建立数据库连接 conn = mysql.connector.connect( host='sql12.freesqldatabase.com', user='sql12592118', password='你的数据库密码', database='你的数据库名', # 注:FreeSQLDatabase会提供对应数据库名,通常与用户名一致 port=3306 ) # 创建游标执行SQL语句 cursor = conn.cursor() cursor.execute("SELECT * FROM 你的表名") result = cursor.fetchall() # 处理查询结果 for row in result: print(row) # 关闭连接资源 cursor.close() conn.close()
示例代码(pymysql)
先安装模块:
pip install pymysql
连接示例:
import pymysql conn = pymysql.connect( host='sql12.freesqldatabase.com', user='sql12592118', password='你的数据库密码', database='你的数据库名', port=3306 ) # 后续操作与MySQL Connector类似,创建游标执行SQL即可
内容的提问来源于stack exchange,提问作者Manohar
相关产品推荐
相关产品推荐

