SpringBoot项目连接linux服务器数据库两种解决方法(linux直接开放端口访问本机通过SSH协议访问,以mysql为例)

news2024/9/25 9:39:19

最近找个springboot脚手架重新熟悉一下springboot相关框架的东西,结果发现好像项目还不能直接像数据库GUI工具一样填几个SSH参数就可以了,于是就给他再整一下看看如何解决

linux开放3306(可修改)端口直接访问

此方法较为方便,无需修改代码,改好后只要把springboot项目中的mysql访问地址改成对应的linux主机ip即可
在这里插入图片描述
在使用GUI数据库工具时我们可以发现刚刚安装了数据库使用ssh通道就可以直接连接了,连基本的配置权限过程都冇,这是因为我们通过SSH连接到linux服务器相当于是远程控制linux主机,并使用linux主机的ip进行数据库操作,并不是我们本机ip直接进行操作的,所以mysql服务器识别的还是localhost(等价于127.0.0.1),是默认配置放行的,并且官方其实也是推荐只留localhost的,不过此处就是提供一种方法供选择。

(1)首先开放mysql的非localhost访问权限,允许非本地ip进行访问
使用root(或者其他高权限用户)访问mysql库内的user表,将对应需要修改的开放对外访问的ip的用户中的host字段修改为%即可,表示通配所有ip进行放行操作。
在这里插入图片描述
另外如果准备开放其他端口而不是3306的话,需要到/etc/my.cnf处进行添加 port=***即可
修改完成后重启mysql数据库服务或者直接刷新权限

mysql -u root -d
flush privileges;

systemctl restart mysqld

(2)开放linux防火墙
当我们有购买过云服务器的话,就可以发现我们需要在外部进行ip直接连接的话,需要在端口控制处添加对应的端口以供外部连接(当然也会配套一些DDOS防卫,流量控制一类的配套服务),在虚拟机的话也是同样需要开启对应的防火墙。
在网上搜寻了一大堆centos/rhel开放linux端口的文章,大部分都是让进行iptables配置,但是按照给出的文件路径,根本没有那个配置文件(/etc/sysconfig/iptables),我:?
后来才发现一位大佬的博客帮忙解了惑 https://www.cnblogs.com/AllWjw/p/15761697.html
总之就是每个centos/rhel大版本防火墙服务不尽相同,需要分开讨论,现在基本上主流Centos7所以使用的是firewalld服务
在这里插入图片描述

firewall-cmd --state ##查看防火墙状态,是否是running
firewall-cmd --add-port=3306/tcp --permanent ##永久添加3306端口
firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --list-ports ##查看当前开放的端口

在这里插入图片描述

按顺序执行下来即可,看起来对应的端口已经正常开放了。
先用navicat小试一下看看
在这里插入图片描述
测试直接连接成功,接下来走个springbootApplication直接连接(项目是直接去gitee拉下来的renren-security)
在这里插入图片描述

SpringBoot项目通过SSH通道进行数据库访问

//TODO 近日测试后补充

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1227844.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构&C++】二叉平衡搜索树-AVL树(25)

前言 大家好吖,欢迎来到 YY 滴C系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! 目录 一.AVL树的概念二.AVL树节点的定义(代码…

【嵌入式 – GD32开发实战指南(ARM版本)】第2部分 外设篇 - 第3章 温度传感器DS18B20

1 理论分析 1.1 DS18B20概述 DS18B20 是 DALLAS 最新单线数字温度传感器,新的"一线器件"体积更小、适用电压更宽、更经济。Dallas 半导体公司的数字化温度传感器 DS1820 是世界上第一片支持 "一线总线"接口的温度传感器。 DS18B20采用的单总线协议,也…

23.11.19日总结

经过昨天的中期答辩,其实可以看出来项目进度太慢了,现在是第十周,预计第十四周是终级答辩,在这段时间要把项目写完。 前端要加上一个未登录的拦截器,后端加上全局的异常处理。对于饿了么项目的商品建表,之前…

mybatis使用xml形式配置

以这个注解形式的查询代码为例 Select("select * from emp where name like concat(%,#{name},%) and gender #{gender} and entrydate between #{begin} and #{end} order by update_time desc ")public List<Emp> list(String name, Short gender, LocalDat…

SDUT OJ《算法分析与设计》搜索算法

A - 子集和问题 Description 子集和问题的一个实例为〈S,t〉。其中&#xff0c;S{ x1 &#xff0c; x2 &#xff0c;…&#xff0c;xn }是一个正整数的集合&#xff0c;c是一个正整数。子集和问题判定是否存在S的一个子集S1&#xff0c;使得&#xff1a; 。 试设计一个解子…

【Web】Ctfshow SSTI刷题记录1

目录 ①web361 362-无过滤 ②web363-过滤单双引号 ③web364-过滤单双引号和args ④web365-过滤中括号[]、单双引号、args ⑤web366-过滤单双引号、args、中括号[]、下划线 ⑦web367-过滤单双引号、args、中括号[]、下划线、os ⑧web368-过滤单双引号、args、中括号[]、下…

【Go入门】 Go搭建一个Web服务器

【Go入门】 Go搭建一个Web服务器 前面小节已经介绍了Web是基于http协议的一个服务&#xff0c;Go语言里面提供了一个完善的net/http包&#xff0c;通过http包可以很方便的搭建起来一个可以运行的Web服务。同时使用这个包能很简单地对Web的路由&#xff0c;静态文件&#xff0c…

卷积神经网络(VGG-16)海贼王人物识别

文章目录 前期工作1. 设置GPU&#xff08;如果使用的是CPU可以忽略这步&#xff09;我的环境&#xff1a; 2. 导入数据3. 查看数据 二、数据预处理1. 加载数据2. 可视化数据3. 再次检查数据4. 配置数据集5. 归一化 三、构建VGG-16网络1. 官方模型&#xff08;已打包好&#xff…

【win32_000】视频截图

PPT 编译器不会自己添加unicode定义 v 函数 WinMain int __clrcall WinMain([in] HINSTANCE hInstance ,//应用程序的当前实例的句柄。[in, optional] HINSTANCE hPrevInstance ,//应用程序上一个实例的句柄。 此参数始终为 NULL。[in] …

文心一言 VS 讯飞星火 VS chatgpt (138)-- 算法导论11.4 2题

二、用go语言&#xff0c;试写出HASH-DELETE 的伪代码;修改 HASH-INSERT&#xff0c;使之能处理特殊值DELETED。 文心一言&#xff1a; 首先&#xff0c;让我们定义一个基本的哈希表数据结构。这个结构将包括一个存储键值对的哈希表和一个存储已删除键值对的队列。我们可以用…

mac控制台命令小技巧

shigen日更文章的博客写手&#xff0c;擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长&#xff0c;分享认知&#xff0c;留住感动。 hello伙伴们&#xff0c;作为忠实的mac骨灰级别的粉丝&#xff0c;它真的给我带来了很多效率上的提升。那作为接…

mysql练习1

-- 1.查询出部门编号为BM01的所有员工 SELECT* FROMemp e WHEREe.deptno BM01; -- 2.所有销售人员的姓名、编号和部门编号。 SELECTe.empname,e.empno,e.deptno FROMemp e WHEREe.empstation "销售人员";-- 3.找出奖金高于工资的员工。 SELECT* FROMemp2 WHE…

日志维护库:loguru

在复杂的项目中&#xff0c;了解程序的运行状态变得至关重要。在这个过程中&#xff0c;日志记录&#xff08;logging&#xff09;成为我们追踪、调试和了解代码执行的不可或缺的工具。在python语言中常用logging日志库&#xff0c;但是logging日志库使用相对繁琐&#xff0c;在…

linux系统环境下mysql安装和基本命令学习

此篇文章为蓝桥云课--MySQL的学习记录 块引用部分为自己的实验部分&#xff0c;其余部分是课程自带的知识&#xff0c;链接如下&#xff1a; MySQL 基础课程_MySQL - 蓝桥云课 本课程为 SQL 基本语法及 MySQL 基本操作的实验&#xff0c;理论内容较少&#xff0c;动手实践多&am…

PMCW体制雷达系列文章(4) – PMCW雷达之抗干扰

说明 本文作为PMCW体制雷达系列文章之一&#xff0c;主要聊聊FMCW&PMCW两种体制雷达的干扰问题。事实上不管是通信领域还是雷达领域&#xff0c;对于一切以电磁波作为媒介的信息传递活动&#xff0c;干扰是无处不在的。近年来&#xff0c;随着雷达装车率的提高&#xff0c;…

Shell条件测试练习

1、取出/etc/passwd文件的第6行&#xff1b; [rootshell ~]# head -6 /etc/passwd | tail -1 sync:x:5:0:sync:/sbin:/bin/sync [rootshell ~]# sed -n 6p /etc/passwd sync:x:5:0:sync:/sbin:/bin/sync [rootshell ~]# awk NR6 /etc/passwd sync:x:5:0:sync:/sbin:/bin/sync 2…

FPGA设计时序约束八、others类约束之Set_Case_Analysis

目录 一、序言 二、Set Case Analysis 2.1 基本概念 2.2 设置界面 2.3 命令语法 2.4 命令示例 三、工程示例 四、参考资料 一、序言 在Vivado的时序约束窗口中&#xff0c;存在一类特殊的约束&#xff0c;划分在others目录下&#xff0c;可用于设置忽略或修改默认的时序…

一文带你详细了解JVM运行时内存

一文带你详细了解JVM运行时内存 1. 程序计数器2. 虚拟机栈3. 本地方法栈4. 堆4.1 堆的总括4.1.1 概念4.1.2 特点4.1.3 设置堆内存大小4.1.4 堆的分类 4.2 新生代和老年代4.2.1 对象存储4.2.2 配置新生代和老年代的堆中占比 4.3 对象分配过程4.4 堆GC 5.元空间6.方法区6.1 方法区…

redis问题归纳

1.redis为什么这么快&#xff1f; &#xff08;1&#xff09;基于内存操作&#xff1a;redis的所有数据都存在内存中&#xff0c;因此所有的运算都是内存级别的&#xff0c;所以性能比较高 &#xff08;2&#xff09;数据结构简单&#xff1a;redis的数据结构是专门设计的&…

Unity2021及以上 启动或者禁用自动刷新

Unity 2021以以上启动自动刷新 Edit---> Preferences--> Asset Pipline --> Auto Refresh 禁用的结果 如果不启动自动刷新在Project面板选择Refresh是不会刷新已经修改后的脚本的。