当前位置:首页 > 经验

安装mysql的步骤和方法 mysql外网访问权限

背景

同事做的功能最近出现一个数据问题,因为涉及的服务多,很是苦恼,想直接连接到正式库调试下程序,无奈正式库是内网,找到我问我能不能有什么办法连到正式库,我给同事介绍了Jsch,帮助同事顺利的连上正式库。

前言

当程序出现bug时,有经验的我们都知道,直接本地连接生产数据库调试是最方便的。但是实际生产中,我们本地是不能直接访问到正式数据库的,为了安全,我们是不会开放数据库的端口给外网的(那些开放数据库端口给外网的快快悬崖勒马吧)。通常我们要连接数据库分析数据,我们有以下几种办法:

1 登陆堡垒机,然后通过堡垒机,连接数据库进行查看数据

2 让其他有权限的人帮忙导出数据(这种比价麻烦)

3 直接登录数据库服务器(这个要求级别比价高,一般开发是没有权限的)

大部分的时候我们都会通过堡垒机,然后连接数据库,如图所示。

本地这样直接连接远程内网MySQL,线上环境进行调试,真香

但是这样还是不能在代码中直连调试,可不可以通过代码连接堡垒机呢?

代码直连堡垒机

1 引入jar包

	<dependency>
		<groupId>com.jcraft</groupId>
		<artifactId>jsch</artifactId>
		<version>0.1.55</version>
	</dependency>

2 登录堡垒机,连接到远程内网数据库

本地这样直接连接远程内网MySQL,线上环境进行调试,真香

3 配置正式服务器的MySQL

本地这样直接连接远程内网MySQL,线上环境进行调试,真香

将本地的端口,转发到远程的数据库端口。

测试

通过堡垒机登录后,可以顺利地访问到到远程mysql内网端口。

本地这样直接连接远程内网MySQL,线上环境进行调试,真香

总结

虽然从此以后调试终于可以直连正式数据库调试了,但是作为专业的我们,一定不能随便连接正式库,调试的时候如果是非查询服务,一定要保证事务的一致性,特别是设计分布式事务时,一定要处理好,一般尽量少用调试非查询服务。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com
标签:

  • 关注微信

相关文章