IDEA连接MySQL失败-[08S01]Communicationslinkfailure
⼀、问题现状描述
使⽤IDEA启动maven项⽬,报错连接MySQL数据库失败,尝试⽤IDEA的database插件,连接本地MySQL库(Windows10本机搭建)
报错结果如下:
[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.
java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
使⽤Navicat等⼯具可以连接成功
1. 使⽤命令窗⼝可以连接成功
2. 服务端已设置⽤户可以远程访问
⼆、问题排查
MySQL 5.7除了配置服务端配置,还要配置myf⽂件。
1)/etc//my.conf
2)E:\PATS\Tools\mysql-5.7.34-winx64\my.ini
即⼀般linux 上都放在 /etc/myf ,window 上安装都是默认可能按照上⾯的路径还是没到,Windows上可以登录到mysql中 使⽤ show variables like ‘%data%’ 先到data存放路径,⼀般my.ini 在 data⽂件的上⼀级。
2.1 Linux系统配置
# myf中有选项bind-address=127.0.0.1,是说mysql server监听的是本地发来的请求
#如果是任意主机都可以请求,则写为0.0.0.0,但是这样⼜不太安全。
# 监听某ip,指定此ip地址即可,但是要保证mysql的user中有允许此ip访问,否则不能对数据库操作
bind-address=0.0.0.0
这样配置可实现远程访问,并且IDEA也可直接访问
2.2 Window系统配置
bind-address=127.0.0.1注释掉,默认就是bind-address=0.0.0.0
myf中有选项bind-address=127.0.0.1,是说mysql server监听的是本地发来的请求,如果是任意主机都可以请求,则写为
0.0.0.0,但是这样⼜不太安全。监听某ip,指定此ip地址即可,但是要保证mysql的user中有允许此ip访问,否则不能对数据库操
作。那么是否可以在配置⾥只规定⼏个ip呢?
简单直接回答:不可能()
[mysqld]
# 设置3306端⼝
port=3306
# 设置mysql的安装⽬录
basedir=E:\PATS\Tools\mysql-5.7.34-winx64\mydata
# 设置mysql数据库的数据的存放⽬录
datadir=E:\PATS\Tools\mysql-5.7.34-winx64\mydata\data
## 允许最⼤连接数
max_connections=1000
## 允许连接失败的次数。mysql下载odbc失败
max_connect_errors=100
## 服务端使⽤的字符集默认为utf8mb4
character-set-server=utf8mb4
## 创建新表时将使⽤的默认存储引擎
default-storage-engine=INNODB
## 默认使⽤“mysql_native_password”插件认证
##mysql_native_password
#default_authentication_plugin=mysql_native_password
##sql_mode设置
##查询 select @@sql_mode,去除ONLY_FULL_GROUP_BY
sql_mode= STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
#注释掉允许任意远程连接
# 放开注释:
#  bind-address=127.0.0.1    本地连接
#  x.xxx  指定IP连接
bind-address=127.0.0.1
[mysql]
## 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
## 设置mysql客户端连接服务端时默认使⽤的端⼝
port=3306
default-character-set=utf8mb4
2.3 bind-address本地设置
bind-address设置为127.0.0.1本地连接后,IDEA就可以正常启动maven项⽬,database插件也可正常连接MySQL
以上,请参考!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。