mysql 2003报错_【python】记一次初学者XAMPP下python3.x链接MySQL数据库踩的坑

92a903be3bb82c8bd3590d79e6dd19e6.png

学完python3的基础语法了,然后想进阶一下

想到了python链接数据库

先研究了下大佬的代码

import MySQLdb
try:
conn = MySQLdb.connect(
host='127.0.0.1',
user='root',
passwd='',
db='news',
port='3306',
charset='utf8'
)
except MySQLdb.Error as e:
print('Error: %s' % e)
cursor = conn.cursor()
cursor.execute('SELECT * FROM `news` WHERE 1;')
rest =cursor.fetchone()
print(rest)

跑了一下报错了,不清楚错误原因

Traceback (most recent call last):

File "D:Program FilesPython38数据库.py", line 4, in <module>

conn = MySQLdb.connect(

File "D:Program FilesPython38libsite-packagesMySQLdb__init__.py", line 130, in Connect

return Connection(*args, **kwargs)

File "D:Program FilesPython38libsite-packagesMySQLdbconnections.py", line 185, in __init__

super().__init__(*args, **kwargs2)

TypeError: an integer is required (got type str)

后来查了下原因

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装

又找了个代码

# *===================================*
# * Created by Zhihua_w.
# * Author: Wei ZhiHua
# * Date: 2017/1/10 0003
# * Time: 下午 2:28
# * Project: PYTHON STUDY
# * Power: DATABASE
# *===================================*
import pymysql
# 打开数据库连接(ip/数据库用户名/登录密码/数据库名)
db = pymysql.connect("localhost", "root", "root", "test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL 查询
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
print("Database version : %s " % data)

还是报错

raceback (most recent call last):

File "D:Program FilesPython38libsite-packagespymysqlconnections.py", line 569, in connect

sock = socket.create_connection(

File "D:Program FilesPython38libsocket.py", line 808, in create_connection

raise err

File "D:Program FilesPython38libsocket.py", line 796, in create_connection

sock.connect(sa)

ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "D:/Program Files/Python38/SQL测试.py", line 13, in <module>

db = pymysql.connect("localhost", "root", "root", "test")

File "D:Program FilesPython38libsite-packagespymysql__init__.py", line 94, in Connect

return Connection(*args, **kwargs)

File "D:Program FilesPython38libsite-packagespymysqlconnections.py", line 327, in __init__

self.connect()

File "D:Program FilesPython38libsite-packagespymysqlconnections.py", line 619, in connect

raise exc

pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([WinError 10061] 由于目标计算机积极拒绝,无法连接。)")

不清楚原因

然后想了一下可能是XAPMM的ip/数据库用户名/登录密码/数据库名出问题了

因为问题只可能出在XAMPP上

果然登陆密码之前就没用过,查了一下,密码为空,

所以第二个"root" 改成""就可以了

8f8cc535dd58beed0336657b9cd6561d.png

激动的心,颤动的手!!!!!

强调几点:

1.XAMPP的数据库和服务器都要打开。

2.注意python3.x和2.x链接数据库是不一样的。

3.XAMPP的root默认密码为空

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值