gpt4 book ai didi

python - 如何将 mysql-connector-python 与 MAMP 一起使用?

转载 作者:行者123 更新时间:2023-11-28 21:18:39 24 4
gpt4 key购买 nike

命令行 mysql 按预期工作:

mysql --host=localhost --user=django3 --password=django3 \
--database=django3 --port=8889

制作:

...
Server version: 5.5.34 Source distribution
...

但下面的脚本(改编自 mysql-connector-python==1.2.3 网站)产生:

2003: Can't connect to MySQL server on 'localhost:8889' \
(61 Connection refused)

为什么会这样?

import mysql.connector
from mysql.connector import errorcode
try:
cnx = mysql.connector.connect(user='django3', password='django3',
host='localhost', port='8889',
database='django3')
except mysql.connector.Error as err:
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with your user name or password")
elif err.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exists")
else:
print(err)
else:
cnx.close()

注意事项

此脚本在 LAN 上使用 MySQL 服务器时起作用,但在尝试使用本地 MAMP MySQL 服务器时不起作用。因此,只要我有这个问题,开发环境就不是那么便携!

最佳答案

过了一会儿hunting around我意识到我需要明确说明 MAMP 使用的 unix 套接字。

所以题中测试程序中connection expression中的那一行需要修改如下:

 ...
host='localhost', port='8889', \
unix_socket='/Applications/MAMP/tmp/mysql/mysql.sock',
...

关于python - 如何将 mysql-connector-python 与 MAMP 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26105726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com