pycharm连接虚拟机搭建的mysql遇到的问题整理

1. pycharm连接mysql数据库

连接教程可参考PyCharm连接虚拟机MySql数据库

2. pycharm连接时遇到的问题

2.1 mysql版本和驱动问题

在虚拟机中安装的版本为5.1.49,需要在mysql for 5.1选择上对应的驱动。
问题解决参考了官方文档Cannot connect to a database
在这里插入图片描述

2.2 连接报错超时

在连接成功后第二天,我再一次测试时发现,报错:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure Last packet sent to the server was 0 ms ago

参考MySQL第二天早上第一次连接超时报错,解决方法
原因是因为mysql配置出现问题。在mysql中存在两个计时操作,参数名为interactive_timeout和wait_timeout。含义如下:
1)interactive_timeout:服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。
参数默认值:28800秒(8小时)
(2)wait_timeout:服务器关闭非交互连接之前等待活动的秒数。
在线程启动时,根据全局wait_timeout值或全局interactive_timeout值初始化会话wait_timeout值,取决于客户端类型(由mysql_real_connect()的连接选项CLIENT_INTERACTIVE定义)。
参数默认值:28800秒(8小时)

当一个客户端连接到MySQL数据库后,如果客户端不自己断开,也不做任何操作,MySQL数据库会将这个连接保留"wait_timeout"这么长时间(单位是s,默认是28800s,也就是8小时),超过这个时间之后,MySQL数据库为了节省资源,就会在数据库端断开这个连接;当然,在此过程中,如果客户端在这个连接上有任意的操作,MySQL数据库都会重新开始计算这个时间。
因此为了防止超时,需要将两个超时定时器改大。改动方法见MySQL第二天早上第一次连接超时报错,解决方法

2.3 SSH连接MYSQL

PyCharm连接虚拟机MySql数据库文章中提及

因为我们连接的是虚拟机的MySQL,所以需要填SSH(安全外科协议),通过SSH安全地连接到虚拟机上进行数据交互

这个问题在我解决2.2问题中,重新连接mysql数据库时,忘记了填写ssh消息,导致一直连不上。关于ssh相关知识还待补充。

3. pycharm代码中连接数据库出现的问题

3.1 关于模块MySQLdb

报错

ModuleNotFoundError: No module named ‘MySQLdb

我安装的python版本是3.9
MySQLdb只支持Python2.,还不支持3.
可以用PyMySQL代替。安装方法:pip install PyMySQL
在使用import sqlalchemy时加上:import pymysql
pymysql.install_as_MySQLdb(),即:

import pymysql
pymysql.install_as_MySQLdb()
from sqlalchemy import create_engine

参考:
python3.6报错ModuleNotFoundError: No module named ‘MySQLdb‘及解决方法

3.2 连接时报错time_out

报错

pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '...' (timed out)")

首先检查是否赋予了用户远程访问的权限。
在确定赋予以后,查看MySQL 3306端口是否监听,

netstat -nltp | grep 3306

最后检查防火墙状态,确认为关闭状态。

3.3 关于create_engine用法

用法:
engine = create_engine(‘dialect+driver://username:password@host:port/database’)

dialect – 数据库类型

driver – 数据库驱动选择

username – 数据库用户名

password – 用户密码

host 服务器地址

port 端口

database 数据库
例如 mysql:
mysql-python
engine = create_engine(‘mysql+mysqldb://scott:tiger@localhost/foo’)

更多数据类型参考python sqlalchemy中create_engine用法

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在PyCharm连接到VMware虚拟机,您需要执行以下步骤: 1. 确保您的VMware虚拟机已经启动并运行。 2. 在PyCharm中打开您的项目,并选择“Run”菜单。 3. 选择“Edit Configurations”选项,并在“Python Interpreter”下拉菜单中选择“SSH Interpreter”。 4. 在“SSH Interpreter”对话框中,输入您的VMware虚拟机的IP地址、用户名和密码。 5. 点击“Test Connection”按钮,确保您的连接正常工作。 6. 点击“OK”按钮保存您的设置。 现在,您可以在PyCharm中使用您的VMware虚拟机作为Python解释器,并在其中运行和调试您的代码。 ### 回答2: 要在PyCharm连接VMware虚拟机,需要按照以下步骤进行设置: 1. 首先,确保已经安装并配置好了PyCharm和VMware软件。 2. 打开VMware虚拟机并确保操作系统已经启动。同时,在虚拟机中的“编辑”选项中选择“虚拟网络编辑器”。在此菜单中,选择要连接的网络适配器并确保其状态为“已连接”。 3. 在PyCharm中,打开要连接虚拟机的项目。然后,点击顶部菜单栏中的“运行”选项,并选择“编辑配置”。 4. 在弹出的配置对话框中,点击左侧的“+”按钮来添加新的远程解释器配置。 5. 在新配置的对话框中,点击左侧的“SSH显示器”选项,并填写相应的连接信息。例如,主机为虚拟机的IP地址,端口为SSH连接的端口(默认为22),用户名和密码是在虚拟机中设置的登录凭证。 6. 在右侧窗口中,选择一个Python解释器并点击“OK”。 7. 返回到主界面,并点击工具栏上的“远程Python解释器”按钮。选择刚才创建的配置。 8. 点击“OK”按钮后,PyCharm将会连接虚拟机,并将其作为默认解释器使用。 现在,你已经成功连接到VMware虚拟机,并可以在PyCharm中运行和调试代码了。注意,确保虚拟机PyCharm位于同一网络下,并且虚拟机的网络适配器设置正确,以确保连接的成功。 ### 回答3: 要使用PyCharm连接虚拟机VMware,可以按照以下步骤进行设置。 首先,确保已经在虚拟机上安装并配置了SSH服务器。这可以通过在虚拟机上安装OpenSSH服务来完成。确保虚拟机和主机在相同的网络环境下。 然后,在PyCharm中打开项目并导航到“设置”菜单。在“项目”设置中,选择“解释器”选项。点击右上角的“+”符号,然后选择“远程解释器”。 在“远程解释器”对话框中,点击左侧的“SFTP”或“SCP”选项,然后提供以下信息: - 主机:输入虚拟机的IP地址。 - 端口:默认的SSH端口号是22,如果对SSH端口有更改,需要提供相应的端口号。 - 用户名:输入在虚拟机上设置的用户名。 - 密码:输入与用户名匹配的密码。 点击“连接并测试”,PyCharm将尝试连接虚拟机。如果连接成功,将显示一个成功的消息。点击“OK”保存设置。 接下来,PyCharm将自动下载并安装所需的解释器包。这可能需要一些时间,取决于网络连接虚拟机性能。 完成这些步骤后,PyCharm连接虚拟机,并将远程解释器配置为项目的默认解释器。现在,您可以在PyCharm中编写和运行您的代码,它将在虚拟机上执行。 这是连接PyCharm到VMware虚拟机的基本步骤。请注意,这只是一种方法,具体设置可能因个人环境而异。如果遇到任何问题,您可以参考PyCharm和VMware的官方文档,或搜索相关的教程和论坛来获取更多的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值