本地计算机上的MySQL服务启动后停止(connection refused: connect)解决一系列数据库连接不上的问题
推荐其他可能可以解决的博客:
【完美解决】mysql启动不了:本地计算机上的MySQL服务启动后停止-CSDN博客
1. 查看自己的mysql服务是否启动了,如果启动后又关闭了就使用下面这种方法
我是使用重新安装 MySQL 服务解决的
如果服务依然启动失败,可能需要重新注册 MySQL 服务:
注意这里需要查看my.ini的文件是否存在(目录一定要对哦),可以自己创建
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\Program Files\MySQL\MySQL Server 8.0
# 设置mysql数据库的数据的存放目录
datadir=C:\Program Files\MySQL\MySQL Server 8.0\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
- 删除现有服务:
sc delete MySQL80(我的服务器名字叫做这个,可能每个人不一样)
- 重新安装服务:
install MySQL80 --defaults-file="C:\Program Files\MySQL\MySQL Server 8.0\my.ini"
- 启动服务:
net start MySQL80
但是需要注意的是 ,重新安装过后会生成一个密码,我们需要找到他才能登录到Mysql中然后修改为自己的密码:
通常在以下目录:C:\Program Files\MySQL\MySQL Server 8.0\data
使用以下命令改变密码即可
ALTER USER 'root'@'localhost' IDENTIFIED BY '123';
2. 如果服务启动了,你连的是虚拟机docker容器上面的数据库,连接数据库显示 Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
解决办法:重启虚拟机 ,并且暂时关闭防火墙,并且启动容器内部的mysql服务,
sudo systemctl stop firewalld
以上是彻底关闭的,由于我的防火墙是开机自启动的,所以没关系。
3. 如果以上步骤都完成了,又出现了Public Key Retrieval is not allowed.
修改properties:dataGrip和IDEA一样的修改配置