Files
opsxdb/homepage/dist/docs/quickstart/index.html
T

191 lines
9.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>快速开始 · OpsxDB 文档</title>
<meta name="description" content="OpsxDB 桌面数据库工作台用户文档 — 连库、写 SQL、看结果;MySQL / PostgreSQL / SQL Server / Oracle / SQLite / Redis 内置驱动,SSH 隧道与 SSL 加密。">
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22g%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%2264%22%20y2%3D%2264%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23059669%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%2206B6D4%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20width%3D%2264%22%20height%3D%2264%22%20rx%3D%2214%22%20fill%3D%22url(%23g)%22%2F%3E%3Cg%20stroke%3D%22%23fff%22%20stroke-width%3D%224.5%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%3E%3Cellipse%20cx%3D%2232%22%20cy%3D%2220%22%20rx%3D%2215%22%20ry%3D%226.5%22%2F%3E%3Cpath%20d%3D%22M17%2020v24c0%203.6%206.7%206.5%2015%206.5s15-2.9%2015-6.5V20%22%2F%3E%3Cpath%20d%3D%22M17%2032c0%203.6%206.7%206.5%2015%206.5s15-2.9%2015-6.5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E">
<link rel="stylesheet" href="/docs/assets/docs.css">
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" style="display:none" aria-hidden="true">
<symbol id="i-menu" viewBox="0 0 24 24"><path d="M4 5h16"/><path d="M4 12h16"/><path d="M4 19h16"/></symbol>
<symbol id="i-printer" viewBox="0 0 24 24"><path d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"/><path d="M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6"/><rect x="6" y="14" width="12" height="8" rx="1"/></symbol>
<symbol id="i-thumbs-up" viewBox="0 0 24 24"><path d="M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z"/><path d="M7 10v12"/></symbol>
<symbol id="i-thumbs-down" viewBox="0 0 24 24"><path d="M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z"/><path d="M17 14V2"/></symbol>
</svg>
<header class="topbar">
<div class="topbar-inner">
<button class="menu-btn" id="menu-btn" aria-label="打开导航"><svg class="i"><use href="#i-menu"/></svg></button>
<a class="brand" href="/docs">
<span class="brand-logo"><svg width="28" height="28" viewBox="0 0 64 64" aria-label="OpsxDB"><defs><linearGradient id="lg-docs" x1="0" y1="0" x2="64" y2="64" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#059669"/><stop offset="1" stop-color="#06B6D4"/></linearGradient></defs><rect width="64" height="64" rx="14" fill="url(#lg-docs)"/><g stroke="#fff" stroke-width="4.5" fill="none" stroke-linecap="round"><ellipse cx="32" cy="20" rx="15" ry="6.5"/><path d="M17 20v24c0 3.6 6.7 6.5 15 6.5s15-2.9 15-6.5V20"/><path d="M17 32c0 3.6 6.7 6.5 15 6.5s15-2.9 15-6.5"/></g></svg></span>
<span class="brand-name">OpsxDB <em>文档</em></span>
</a>
<span class="ver-badge">v0.1</span>
<div class="search">
<input id="search-input" type="search" placeholder="搜索文档…" autocomplete="off" spellcheck="false">
<div class="search-panel" id="search-panel" hidden></div>
</div>
<nav class="top-links">
<a href="/home">官网</a>
<a href="/docs/quickstart">快速开始</a>
</nav>
</div>
</header>
<div class="layout" id="layout">
<aside class="sidebar" id="sidebar">
<div class="nav-group">
<div class="nav-group-title">开始使用</div>
<a class="nav-link" href="/docs/intro">产品介绍</a>
<a class="nav-link active" href="/docs/quickstart">快速开始</a>
<a class="nav-link" href="/docs/interface">界面导览</a>
</div>
<div class="nav-group">
<div class="nav-group-title">连接与驱动</div>
<a class="nav-link" href="/docs/connect">新建连接</a>
<a class="nav-link" href="/docs/drivers">驱动支持</a>
</div>
<div class="nav-group">
<div class="nav-group-title">SQL 工作台</div>
<a class="nav-link" href="/docs/workbench">SQL 工作台</a>
<a class="nav-link" href="/docs/results">结果与导出</a>
<a class="nav-link" href="/docs/redis">Redis 工作台</a>
</div>
<div class="nav-group">
<div class="nav-group-title">安全与 AI</div>
<a class="nav-link" href="/docs/security">安全设计</a>
<a class="nav-link" href="/docs/ai">AI 助手</a>
</div>
<div class="nav-group">
<div class="nav-group-title">参考</div>
<a class="nav-link" href="/docs/faq">常见问题</a>
<a class="nav-link" href="/docs/shortcuts">快捷键</a>
</div>
<div class="sidebar-foot">© 2026 OpsxDB · 本地优先的数据库工作台</div>
</aside>
<main class="content">
<div class="breadcrumb">文档 <span>/</span> 开始使用 <span>/</span> 快速开始</div>
<h1 class="page-title">快速开始</h1>
<div class="page-meta">更新于 2026-09-20</div>
<article class="md">
<p>本章从零到出结果:起服务 → 建连接 → 执行第一条 SQL。</p>
<h2 id="sec-1">1. 启动</h2>
<p>桌面版(主交付形态)双击 OpsxDB 应用即可,本地后端随应用自动拉起。</p>
<p>从源码运行(开发):</p>
<pre><code class="language-bash">git clone &lt;repo&gt; opsxdb &amp;&amp; cd opsxdb
npm install
./run.sh gui # 桌面形态(开发):Tauri 窗口 + 本地后端
./run.sh web # 仅启动官网与文档 → http://127.0.0.1:8788/
./run.sh package # 打桌面安装包(DMG,内嵌后端)
</code></pre>
<blockquote>
<p><strong>注意</strong>:客户端只在桌面 App 里运行。<code>./run.sh gui</code> 起的 <code>:5174</code> 是桌面 devUrl 的资产服务,不是浏览器客户端;浏览器只用于官网 <code>/</code> 与文档 <code>/docs</code>(后端 <code>:8788</code> 直接提供)。</p>
</blockquote>
<h2 id="sec-2">2. 新建连接</h2>
<ol>
<li>
<p>打开应用,进入<strong>连接选择器</strong>,选择数据库类型(如 MySQL);</p>
</li>
<li>
<p>或者直接粘贴连接 URL,点「填入」自动拆解字段:</p>
<pre><code>mysql://root:pass@127.0.0.1:3306/shop
</code></pre>
</li>
<li>
<p>点 <strong>测试</strong> 验证连通性,再点 <strong>保存并连接</strong>。</p>
</li>
</ol>
<p>连接配置保存在本机,密码混淆存储;后续查询只携带会话 ID,不再上送账密。</p>
<h2 id="sec-3">3. 第一次查询</h2>
<ol>
<li>
<p>左侧对象树展开库,<strong>点表名</strong>直接查看前 100 行(展开表可看列结构);</p>
</li>
<li>
<p>打开 SQL 编辑器,输入:</p>
<pre><code class="language-sql">SELECT * FROM orders ORDER BY id DESC LIMIT 100;
</code></pre>
</li>
<li>
<p>按 <strong>⌘/Ctrl + Enter</strong> 执行当前语句(或选中的片段);</p>
</li>
<li>
<p>结果面板支持<strong>复制 / 导出 CSV / 生成 INSERT</strong>,双击单元格即复制。</p>
</li>
</ol>
<h2 id="sec-4">4. 验证服务</h2>
<pre><code class="language-bash">curl -s http://127.0.0.1:8788/health
# {&quot;ok&quot;:true,&quot;service&quot;:&quot;opsxdb&quot;}
</code></pre>
<h2 id="sec-5">5. 手边没有数据库?</h2>
<p>本地还没有可连的库?用仓库自带的辅助脚本一键起一个(需要 Docker,一次只起一个):</p>
<pre><code class="language-bash">./tests/dbctl.sh up a # MySQL
./tests/dbctl.sh up c # PostgreSQL(用户 opsx)
./tests/dbctl.sh up f # Redis
</code></pre>
<p>各驱动的验收状态见《驱动支持》。</p>
</article>
<div class="pn-nav">
<a class="pn prev" href="/docs/intro"><span class="pn-label">← 上一页</span><span class="pn-title">产品介绍</span></a>
<a class="pn next" href="/docs/interface"><span class="pn-label">下一页 →</span><span class="pn-title">界面导览</span></a>
</div>
<div class="feedback" id="feedback">
<span class="feedback-q">本页内容是否对您有帮助?</span>
<button class="fb-btn" data-v="yes"><svg class="i"><use href="#i-thumbs-up"/></svg> 有帮助</button>
<button class="fb-btn" data-v="no"><svg class="i"><use href="#i-thumbs-down"/></svg> 没有帮助</button>
<span class="fb-thanks" id="fb-thanks" hidden>感谢您的反馈!</span>
</div>
</main>
<aside class="toc">
<div class="toc-title">本页目录</div>
<nav class="toc-nav">
<a class="toc-l2" href="#sec-1">1. 启动</a>
<a class="toc-l2" href="#sec-2">2. 新建连接</a>
<a class="toc-l2" href="#sec-3">3. 第一次查询</a>
<a class="toc-l2" href="#sec-4">4. 验证服务</a>
<a class="toc-l2" href="#sec-5">5. 手边没有数据库?</a>
</nav>
<button class="print-btn" id="print-btn"><svg class="i"><use href="#i-printer"/></svg> 打印 / 导出 PDF</button>
</aside>
</div>
<script src="/docs/assets/docs.js" defer></script>
</body>
</html>