更新了另外一篇,比这篇的方法更好:[https://www.cnblogs.com/scottyzh/p/17745527.html](服务器没有开放3306端口 远程访问MySQL数据库方法)

一、问题

​ 服务器访问MySQL原先是服务器开放4406端口,root账号权限对任意ip都能进行使用,存在安全隐患。禁止4406端口的话,对数据库数据操作很不方便,只能通过命令行敲SQL语句进行增删,对数据的查询也不方便。

二、解决方案

1、方案一:

如果有公网ip,直接在服务器数据库中配置root账号只能由公网ip地址进行访问。

2、方案二:

假设数据库服务器是服务器A,采用一台具有公网ip的另外一台服务器B作为跳板机,在A服务器里面配置远程访问权限只有B服务器ip可以访问A服务器,在本地需要连接到A服务器数据库的时候,借助B服务器建立ssh隧道即可访问。

三、配置过程

1、更改root账号对应的host地址

使用以下SQL语句

use mysql;

select host,user from user;

可以看到原先的root账号能被所有host访问,下面进行修改。

假定跳板机B服务器的ip是100.92.229.83

update user set host=' 100.92.229.83' where user='root';

flush privileges;

再查询一次

已经得到修改

2、本地DBeaver连接到A服务器数据库

假定A服务器的ip是100.95.5.79

经过上述更改后,已经无法连接上数据库

选中某个连接的数据库,右键编辑连接,进入SSH,在下面输入跳板机B服务器的ip和服务器ssh密码

回到首页点测试连接

借助跳板机B进行ssh隧道连接已经能成功连接上。

MySQL防止被黑,通过跳板机ssh隧道访问的更多相关文章

  1. 通过ssh隧道访问mysql(转载)

    我的机器可以连接服务器A,A可以访问服务器B上的mysql,但是我的机器不能访问B,所以我需要建立一个我本地机器到服务器A的ssh隧道来访问服务器B上的mysql. 理一下思路: 1.我要ssh的服务 ...

  2. 配置SSH隧道访问Ubuntu服务器上的MongoDB

    为了数据安全,在MongoDB的配置文件里,一般会把默认的27017端口port改为自定义的端口号,然后把允许访问的IP设为127.0.0.1(即主机本身).但是这样就会在开发的过程查看数据时带来麻烦 ...

  3. sqlyog通过跳板机ssh连接mysql数据库

    方法一: 方法二: 在跳板机上启动sh脚本做ssh端口转发,客户端配置连接 10.0.0.1的8306端口即可 jdbc:mysql://10.0.0.1:8306/testdb?useUnicode ...

  4. mysql ssh 跳板机(堡垒机???)连接服务器

    跳板机(Jump Server),也称堡垒机,是一类可作为跳板批量操作远程设备的网络设备,是系统管理员或运维人员常用的操作平台之一. 正常的登录流程 使用ssh命令登录跳板机: 登录跳板机成功后,在跳 ...

  5. ssh隧道(通过跳板机)连接mysql

    案例: A服务器   B服务器   C服务器mysql 现在mysql服务器C只能通过内网访问,B服务器就能通过内网连接访问到mysql A服务器无法直接连接C服务器mysql,所以要通过跳板机(跳板 ...

  6. Navicat配置跳板机连接数据库

    需求 在开发中,有时候我们会碰到这么一个情况.数据库的服务器在内网,如果想连接,必须得先ssh登陆到跳板机,然后在跳板机ssh到达数据库所在服务器,进而操作数据库.遗憾的是,如果跳板机和数据库所在服务 ...

  7. 使用pycharm、跳板机连接内网服务器

    使用pycharm.跳板机连接内网服务器 接手实验室服务器后,大部分同学在GPU集群上跑程序都是直接在ssh界面上跑,这里想着通过pycharm通过跳板机来连接服务器. 总体就是实验室服务器仅限内网访 ...

  8. xshell如果通过跳板机登录其他机器

    首先,跳板机设置隧道 目标机器,选择刚才的隧道作为代理

  9. 通过SSH隧道的本地转发实现Django连接远程数据库

    SSH连接命令 默认连接的端口为22 1. 使用私钥 ssh -p connect_port user_name@host -i your_private_identity 2. 使用用户密码 ssh ...

  10. ssh隧道使用

    在内网中几乎所有的linux服务器和网络设备都支持ssh协议.一般情况下,ssh协议是允许通过防火墙和边界设备的,所以经常被攻击者利用.同时ssh协议的传输过程是加密的,所以我们很难区分合法的ssh会 ...

随机推荐

  1. C++图像处理函数及程序(一)

    C++开源项目: Boost.GIL:通用图像库 CImg :用于图像处理的小型开源C++工具包 CxImage :用于加载,保存,显示和转换的图像处理和转换库,可以处理的图片格式包括 BMP, JP ...

  2. 跟运维学 Linux - 01

    跟运维学 Linux - 01 运维的诞生 运维工程师有很多叫法:系统运维.Linux 工程师.系统管理员... 网管可以说是运维工程师最早的雏形.在个人电脑未普及时,大家去网吧玩游戏. 玩家:&qu ...

  3. 阿里如何实现秒级百万TPS?搜索离线大数据平台架构解读

    ★ 淘宝搜索阶段 在2008-2012这个阶段,我们重点支持淘宝搜索的业务发展,随着淘宝商品量的不断增加,逐步引入Hadoop.Hbase等开源大数据计算和存储框架,实现了搜索离线系统的分布式化,有力 ...

  4. ABC295 D题 题解

    题意简述 给定一个长度不超过\(\;5\times 10^5\;\)的,仅有数字构成的字符串,问存在多少段子串,使得子串内字符重新排序后,前半段与后半段相同? 做法分析 重组后前后两部分相同,其实也就 ...

  5. 使用文件批量find

    有时候需要找一批文件传到本地,文件名都不一样.可以先把文件名写到文件里面,一个文件名为一行. 比如: file1.wav file2.wav file3.wav 在命令行执行: for i in `c ...

  6. SRC赏金猎人—笔记二

    以下是如何将速率限制漏洞的影响从低增加到高甚至严重 过程 1.我访问了该网站,然后开始在网站的主文件中手动查找main.js 2.我发现有一个 Web 服务托管在 http:// redacted.c ...

  7. 一种创新的 Hybird App 技术开发模式

    Hybrid这个词,在App开发领域,相信大家都不陌生.Hybrid App是指介于web-app.native-app这两者之间的app,它虽然看上去是一个Native App,但只有一个UI We ...

  8. QA|linux指令awk '{print $(NF-1)}'为啥用单引号而不是双引号?|linux

    linux指令awk '{print $(NF-1)}'为啥用单引号而不是双引号? 我的理解: 因为单引号不对会内容进行转义,而双引号会,举个栗子 1 a=1 2 echo "$a" ...

  9. vue3探索——5分钟快速上手大菠萝pinia

    温馨提示:本文以vue3+vite+ts举例,vite配置和ts语法侧重较少,比较适合有vuex或者vue基础的小伙伴们儿查阅. 安装pinia yarn yarn add pinia npm npm ...

  10. redisson分布式锁的应用——秒杀、超卖 简单例子(分布式锁相关)

    1.常见的分布式事务锁 1.数据库级别的锁 乐观锁,给予加入版本号实现 悲观锁,基于数据库的for update实现 2.Redis,基于SETNX.EXPIRE实现 3.Zookeeper,基于In ...