当前位置: 首页 > news >正文

laravel使用SSH 隧道连接远程数据库

1、创建SSH隧道

// An highlighted blockssh -i ./id_rsa -N -L 3306:localhost:3306 -p 8848 root@192.161.1.1

对上述代码的 解释

命令是一个SSH隧道命令,用于将本地端口3306转发到远程服务器上的3306端口。以下是命令的详细解释:ssh: 调用SSH客户端。
-i ./id_rsa: 指定用于身份验证的私钥文件。
-N: 不执行远程命令,仅用于端口转发。
-L 3306:localhost:3306: 将本地端口3306转发到远程服务器上的localhost:3306。
-p 8848: 指定SSH连接的远程端口为8848。
root@192.168.1.1: 连接到远程服务器的用户和IP地址。
这个命令通常用于安全地访问远程服务器上的数据库或其他服务。例如,如果你有一个运行在远程服务器上的MySQL数据库,你可以使用这个命令在本地计算机上通过3306端口访问它。

2、修改Laravel的.env配置文件

// An highlighted block
DB_CONNECTION=mysql
DB_HOST=127.0.0.1 //本地ip
DB_PORT=3306 //创建ssh隧道时转发的端口,不建议用3306,建议做对应的调整
DB_DATABASE=ssh_db_name //远程数据库名
DB_USERNAME=ssh_username //远程数据库账号
DB_PASSWORD=ssh_pwd //远程数据库密码

3、实现前后效果对比

在这里插入图片描述
在这里插入图片描述
好处:不需要每次都把远程库copy到本地进行debug,省去同步数据的时间。

总结:只需先创建SSH渠道后,修改.env配置即可连接远程数据库,无需调整额外的代码,如果不需要debug了,把SSH终止就会自动断开,无需担心有什么渗透的问题。


http://www.mrgr.cn/news/1285.html

相关文章:

  • FastAPI个人入门学习
  • 【原创公式】【完全二叉树】叶结点的计算【数据结构】
  • ESP32CAM人工智能教学19
  • SPI驱动学习一(协议原理)
  • 《黑神话:悟空》媒体评分解禁 M站均分82
  • 计算机网络速成(二)
  • 合宙LuatOS AIR700 IPV6 TCP 客户端向NodeRed发送数据
  • Aerospike学习笔记
  • 白骑士的C#教学附加篇 5.1 C#开发工具
  • QT网络编程: 实现UDP通讯设置
  • 大数据ETL工具(Sqoop, DataX, Kettle)对比
  • JMeter性能优化实践:提升测试效率
  • PyTorch数据子集采样精粹:torch.utils.data.Subset深度解析
  • (三)Flink Source 数据源
  • Navicat Premium Lite: 简化版的数据库管理和开发工具
  • 理解Flink数据流图
  • Spring之Bean的前世今生之BeanDefinition简介
  • Nginx反向代理和前后端分离项目打包部署
  • GFS分布式
  • RabbitMQ-消息队列延迟队列二