【发布时间】:2016-10-15 20:42:59
【问题描述】:
我在 Windows 10(64 位)上使用 Python 3.5.1、mysqlclient 1.3.9(MySQLdb 的分支,支持 Python 3)和 MariaDB 10.1。
当我跑步时
import MySQLdb
con = MySQLdb.connect(user=my_user, passwd=my_pass, db=my_db)
Python 崩溃。
在pycharm中,我也看到了消息
Process finished with exit code -1073741819 (0xC0000005)
我没有收到任何其他错误。这与我使用错误凭据运行相同语句时发生的情况不同:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Program Files\Python35\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "C:\Program Files\Python35\lib\site-packages\MySQLdb\connections.py", line 191, in __init__
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)")
我的 CentOS 服务器上不会出现此错误,该服务器运行 Python 3.4、mysqlclient 1.3.9 和 MariaDB 10.1。
按照this question 的建议,我尝试使用旧版本的 MariaDB,但无济于事。
什么可能导致此崩溃和神秘的错误报告缺失,我该如何解决?
编辑:在我的系统日志中,我发现了这个条目:
一般:
Faulting application name: python.exe, version: 3.5.1150.1013, time stamp: 0x56639598
Faulting module name: python35.dll, version: 3.5.1150.1013, time stamp: 0x56639583
Exception code: 0xc0000005
Fault offset: 0x00000000000e571c
Faulting process id: 0x4a4
Faulting application start time: 0x01d2272a22ae1a1a
Faulting application path: C:\Program Files\Python35\python.exe
Faulting module path: C:\Program Files\Python35\python35.dll
Report Id: 6dd874e6-5ea5-4919-af8b-4880a2c7ac5e
Faulting package full name:
Faulting package-relative application ID:
详情:
- System
- Provider
[ Name] Application Error
- EventID 1000
[ Qualifiers] 0
Level 2
Task 100
Keywords 0x80000000000000
- TimeCreated
[ SystemTime] 2016-10-15T21:21:48.041795500Z
EventRecordID 7615
Channel Application
Computer PETER-LENOVO
Security
- EventData
python.exe
3.5.1150.1013
56639598
python35.dll
3.5.1150.1013
56639583
c0000005
00000000000e571c
4a4
01d2272a22ae1a1a
C:\Program Files\Python35\python.exe
C:\Program Files\Python35\python35.dll
6dd874e6-5ea5-4919-af8b-4880a2c7ac5e
【问题讨论】:
-
可以直接用
mysql -u my_user -p my_db登录吗? -
@Ixer,是的,效果很好。
-
-h localhost呢? -
@JonStirling,也可以。
-
在这种情况下,您需要双重和三重检查您刚刚尝试的凭据是否肯定是您的连接中使用的凭据。
标签: python mysql python-3.x mariadb