2024版黑马的微服务课程,IDEA连接Linux数据库时报错

     小编在学习2024版黑马的微服务课程时,用idea连接Linux中的Mysql数据库,报错:

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.

    

解决方法一:

    我就尝试各种办法,很多人说出问题是在url配置中useSSL=true参数,MySQL在高版本需要指明是否进行SSL连接,MySQL5是不需要这个参数的。解决方案是:useSSL=false。

     我在修改之后,重新编译运行发现还是不行,那就不是解决版本的问题

解决方法二:

    在我的多方尝试与努力下我发现在自己Linux本机中使用dps(docker ps),可以查到我的mysql确实时运行的状态

如果没有查到mysql在运行可以手动开启试着mysql: docker start mysql

并可以设置好开机自启动mysql:docker update --restart=always  mysql

我尝试在Linux中连接mysql发现可以连接,这就说明,mysql时没有问题的,于是我想到了Linux的防火墙是不是开了下面时关于防火墙的命令

在 Linux 系统中,防火墙是用来控制进出网络流量的安全系统。根据不同的 Linux 发行版和版本,关闭防火墙的命令可能会有所不同。以下是一些常见的方法来关闭 Linux 系统中的防火墙。

CentOS 7 之前的版本

对于 CentOS 7 之前的版本,可以使用 iptables 相关命令来管理防火墙。以下是一些基本的命令:

  • 查看防火墙状态: service iptables status

  • 关闭防火墙: service iptables stop

  • 开启防火墙: service iptables start

  • 重启防火墙: service iptables restart

  • 永久关闭防火墙: chkconfig iptables off

  • 永久开启防火墙: chkconfig iptables on

CentOS 7 及之后的版本

CentOS 7 及之后的版本使用 firewalld 作为防火墙管理工具。以下是使用 systemctl 命令来管理 firewalld 的方法:

  • 查看防火墙状态: systemctl status firewalld.service

  • 启动防火墙: systemctl start firewalld.service

  • 关闭防火墙: systemctl stop firewalld.service

  • 重启防火墙: systemctl restart firewalld.service

  • 设置开机启动防火墙: systemctl enable firewalld.service

  • 禁用开机启动防火墙: systemctl disable firewalld.service

经过查看确实发现防火墙没有关闭,所以我们本机没有办法访问Linxu,才产生连接不到mysql的情况,就使用systemctl stop firewalld.service关闭防火墙,然后再次查看防火墙状态,显示已经关闭

  再次进入idea连接就连接成功了

制作不易,如有帮到各位就留个小小的赞吧。

### 黑马商城微服务架构中的数据库连接配置 在黑马商城项目中,为了确保各个微服务能够高效稳定地访问数据库,通常会采用Spring Cloud体系下的最佳实践来管理数据库连接。以下是具体的配置方法: #### 1. 应用程序属性文件配置 对于每一个独立的服务模块,在`application.yml`或`application.properties`文件内指定数据源的相关参数。例如: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/blackhorse_mall?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: root password: your_password_here driver-class-name: com.mysql.cj.jdbc.Driver ``` 上述设置指定了MySQL数据库的位置、用户名、密码以及其他必要的驱动类名等信息[^1]。 #### 2. 使用Druid监控和优化性能 考虑到生产环境的安全性和效率问题,建议引入阿里巴巴开源的数据源池组件——Druid作为增强型解决方案。通过它不仅可以提高SQL执行速度,还能方便地查看慢查询日志等功能。相关依赖可以在pom.xml里加入如下声明: ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.8</version> </dependency> ``` 接着继续完善`application.yml`里的配置项以启用更多特性: ```yaml spring: druid: stat-view-servlet: enabled: true loginUsername: admin loginPassword: 123456 filter: stat: logSlowSql: true slowSqlMillis: 3000 ``` 这段代码片段展示了如何开启统计视图Servlet并设定登录凭证;同也启用了对缓慢SQL语句的日志记录功能[^2]。 #### 3. MyBatis Plus集成简化开发流程 借助MyBatis Plus框架可以极大程度减少持久层代码的手动编写工作量。只需按照官方文档指导安装相应starter包之后,即可利用其提供的自动代码生成功能快速搭建起基本CRUD操作接口。具体来说就是修改POM文件添加依赖: ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.3</version> </dependency> ``` 随后配合之前提到过的数据库URL等信息,就能轻松实现实体映射及增删改查逻辑了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值