解决windows下的pycharm无法连接虚拟机上的MySQL数据库问题。

博主在使用PyCharm尝试连接虚拟机上的MySQL数据库时遇到timeout错误,原因是虚拟机网络配置为NAT模式。解决方法是将虚拟机网络模式改为桥接模式,确保与主机在同一网络环境下。此外,关闭虚拟机防火墙也是解决此类问题的一个常见步骤。参考其他博主的经验分享,成功实现了PyCharm对虚拟机数据库的访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在学习MySQL数据库时候,我想要通过pycharm编写代码访问虚拟机上的MySQL数据库,但是遇到了一下问题,代码如下:

import pymysql
# pycharm连接上了数据库
# db = pymysql.connect(host="10.0.2.15", port=3306, user="root", password="123456", charset="utf8")
# 参数字典
kwargs={
    'host':'192.168.1.103',
    "port":3306,
    "user":"root",
    "password":"123456",
    "database":"stu",
    "charset":"utf8"
}
# 连接数据库
db=pymysql.connect(**kwargs)

# 生成游标:执行sql操作数据,得到操作结果的对象
cur =db.cursor()

# 数据操作


# 关闭
cur.close()
db.close()

报错如下:

Traceback (most recent call last):
  File "D:\Python\lib\site-packages\pymysql\connections.py", line 613, in connect
    sock = socket.create_connection(
  File "D:\Python\lib\socket.py", line 808, in create_connection
    raise err
  File "D:\Python\lib\socket.py", line 796, in create_connection
    sock.connect(sa)
socket.timeout: timed out
 
During handling of the above exception, another exception occurred:
 
Traceback (most recent call last):
  File "E:/month02/day10/01_write_db.py", line 21, in <module>
    db=pymysql.connect(**kwargs)
  File "D:\Python\lib\site-packages\pymysql\connections.py", line 353, in __init__
    self.connect()
  File "D:\Python\lib\site-packages\pymysql\connections.py", line 664, in connect
    raise exc
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '10.0.2.15' (timed out)")

随即开始找解决方法,终于找到了,我这个报错的主要原因是因为虚拟机网卡设置为NAT模式,但是想要从pycharm访问虚拟机,需设置为桥接模式。

 此后,就可以在pycharm中进行添加数据库操作。

同时还要注意,这个报错还有其他原因,如虚拟机防火墙要关闭。可另外一位博主写的下文

连接虚拟机MySQL出现:pymysql.err.OperationalError: (2003, “Can‘t connect to MySQL server on ‘***‘(timed out)_yyn4493的博客-CSDN博客

大家也可以参考此文,也是我解决问题的想法来源;

怎么连接虚拟机中的MYSQL数据库服务器_link_sky的博客-CSDN博客_如何连接虚拟机数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值