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

SSH 远程连接到 Linux 服务器上的 SQLite

通过 SSH 远程连接到 Linux 服务器上的 SQLite 数据库文件的流程,可以分为以下几个步骤:

  1. 通过 SSH 连接到远程 Linux 服务器
  2. 在远程服务器上执行 SQLite 命令行工具,操作数据库文件
  3. 在本地使用工具,通过 SSH 隧道间接访问远程的 SQLite 数据库(可选)。

方法 1: 使用 SSH 直接连接并操作 SQLite 数据库

如果您只需要通过 SSH 远程操作 SQLite 数据库文件,可以直接使用 SSH 登录到服务器,然后通过 SQLite 的命令行工具进行数据库操作。

步骤 1:使用 SSH 连接到远程服务器

首先,使用 ssh 命令连接到远程服务器:

ssh username@server_ip

例如:

ssh root@192.168.1.100
  • username:您在远程服务器上的用户名。
  • server_ip:远程服务器的 IP 地址。
步骤 2:使用 SQLite 命令行工具操作数据库文件

连接到服务器后,您可以使用 sqlite3 命令行工具来打开和操作 SQLite 数据库文件。首先,确认是否已安装 SQLite,使用以下命令检查:

sqlite3 --version

如果 SQLite 没有安装,您可以使用以下命令安装:

  • CentOS/RHEL:

    sudo yum install sqlite
    
  • Ubuntu/Debian:

    sudo apt-get install sqlite3
    
步骤 3:打开并操作 SQLite 数据库文件

假设数据库文件位于 /path/to/database.db,您可以通过以下命令打开数据库文件:

sqlite3 /path/to/database.db

示例:

sqlite3 /home/user/mydatabase.db

在打开的 SQLite 会话中,您可以执行 SQL 查询,例如:

SELECT * FROM my_table;

输入 .exit 退出 SQLite 会话:

.exit

方法 2: 使用 SSH 隧道远程操作 SQLite 数据库

如果您希望从本地工具(如 DB Browser for SQLite)通过 SSH 隧道来操作远程服务器上的 SQLite 数据库文件,可以使用 SSH 隧道来转发远程端口,使得本地的工具可以访问到远程的数据库。

步骤 1:使用 SSH 隧道转发端口

假设 SQLite 数据库文件位于远程服务器的 /path/to/database.db,您可以使用 SSH 隧道来将本地的端口转发到远程服务器。具体步骤如下:

在本地机器上,运行以下命令,建立 SSH 隧道:

ssh -L 12345:localhost:5432 username@server_ip
  • 12345:本地端口,您可以随意选择(建议使用 1024 以上的端口)。
  • localhost:5432:远程服务器的 IP 和 SQLite 的监听端口。
  • username:您在远程服务器上的用户名。
  • server_ip:远程服务器的 IP 地址。
步骤 2:使用本地 SQLite 工具连接数据库

完成端口转发后,您可以使用本地的 SQLite 工具(如 DB Browser for SQLite)连接到本地 localhost:12345,它实际上通过 SSH 隧道连接到远程服务器上的 SQLite 数据库。

方法 3:将数据库文件下载到本地进行操作

如果您需要频繁操作远程服务器上的 SQLite 数据库,可以将数据库文件下载到本地,使用本地工具进行操作。

步骤 1:使用 scp 命令下载数据库文件
scp username@server_ip:/path/to/database.db /local/path/to/database.db

示例:

scp root@192.168.1.100:/home/user/mydatabase.db ./mydatabase.db
步骤 2:本地操作数据库

下载后,您可以使用本地的 SQLite 工具打开并操作该数据库文件:

sqlite3 ./mydatabase.db

也可以使用 GUI 工具如 DB Browser for SQLite 进行操作。

总结

  • 通过 SSH 连接直接操作:最简单的方法是通过 SSH 远程登录到服务器,使用 SQLite 命令行工具操作数据库。
  • 通过 SSH 隧道连接:如果需要从本地工具访问远程的 SQLite 数据库,您可以使用 SSH 隧道进行端口转发。
  • 将文件下载到本地:如果您只需临时操作,可以将数据库文件下载到本地进行操作。

请根据您的实际需求选择适合的方法。如果有任何问题或需要更多帮助,欢迎继续提问!

相关文章:

  • python AutoGen接入开源模型xLAM-7b-fc-r,测试function calling的功能
  • 利用香港多IP服务器建站蜘蛛池执行SEO策略的实践
  • Python注释
  • Redis中String命令的基础操作
  • Chroma 向量数据入门
  • 强化学习在自动驾驶技术中的应用与挑战
  • 速通LLaMA3:《The Llama 3 Herd of Models》全文解读
  • 寿司检测系统源码分享
  • UNI-SOP使用说明
  • windows下tp5创建定时任务
  • 网络原理3-应用层(HTTP/HTTPS)
  • 安卓LiveData与MutableLiveData的使用
  • Excel DAYS函数怎么用,DAYS函数的使用方法来了
  • (含答案)C++笔试题你可以答对多少?
  • 探索 Python 中的 AI 魔法:markdownify 库的奥秘
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 【Amaple教程】5. 插件
  • 10个最佳ES6特性 ES7与ES8的特性
  • 230. Kth Smallest Element in a BST
  • canvas 五子棋游戏
  • CentOS 7 防火墙操作
  • Java IO学习笔记一
  • Java精华积累:初学者都应该搞懂的问题
  • js正则,这点儿就够用了
  • Sass Day-01
  • VuePress 静态网站生成
  • 仿天猫超市收藏抛物线动画工具库
  • 规范化安全开发 KOA 手脚架
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 简单数学运算程序(不定期更新)
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 异常机制详解
  • 找一份好的前端工作,起点很重要
  • 正则与JS中的正则
  • Linux权限管理(week1_day5)--技术流ken
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 进程与线程(三)——进程/线程间通信
  • #APPINVENTOR学习记录
  • #if等命令的学习
  • #如何使用 Qt 5.6 在 Android 上启用 NFC
  • $nextTick的使用场景介绍
  • (007)XHTML文档之标题——h1~h6
  • (1)无线电失控保护(二)
  • (30)数组元素和与数字和的绝对差
  • (9)STL算法之逆转旋转
  • (a /b)*c的值
  • (C++)八皇后问题
  • (Forward) Music Player: From UI Proposal to Code
  • (LLM) 很笨
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (六)软件测试分工
  • (十一)手动添加用户和文件的特殊权限