我正在使用PyCharm连接到我在localhost端口3306上运行的本地MySQL数据库。这里是我的JDBC URL中的数据源和驱动程序"如PyCharm所示的窗口:
jdbc:mysql://localhost:3306/mydb
当我尝试连接或点击"测试连接"我在IntelliJ中收到此错误:
Error: Connection to MySQL failed.
Connection to Local MySQL failed.
[08S01] Communications link failure.
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
我可以使用命令行客户端连接到mysql就好了,它只是PyCharm无法正常工作。我做错了什么?
答案 0 :(得分:0)
确保您的MySQL没有收听IPv6地址。出于某种原因,当连接到运行在IPv6地址上的MySQL时,IntelliJ / PyCharm会出现问题。
要查看MySQL服务器正在侦听的地址,请键入:
$ ss -ntl|grep 3306
LISTEN 0 80 [::1]:3306 [::]:*
[::1]:3306
部分表示它正在侦听localhost上的IPv6地址。
要更改为IPv4,请打开/etc/mysql/my.cnf
并将bind-address
部分中的[mysqld]
参数添加/设置为127.0.0.1
而不是localhost
:
...
[mysqld]
...
port = 3306
bind-address = 127.0.0.1
...
然后重新启动mysqld.service
,您就可以通过IntelliJ / PyCharm进行连接。