基于华为openEuler部署Sqliteviz轻量级SQLite可视化工具【华为根技术】
前言
随着数字化转型的深入,企业对数据库管理工具的便捷性与可视化能力提出了更高要求。openEuler作为华为开源的高性能、高可靠Linux发行版,为各类轻量级应用提供了坚实的系统底座。SQLite以其嵌入式、零配置的优势,广泛应用于边缘计算和开发测试场景。本文基于华为根技术生态中的openEuler系统,部署轻量级SQLite可视化工具Sqliteviz,探索高效、安全的本地数据库管理方案。
一、相关服务介绍
1.1 openEuler系统介绍
- 简介
openEuler
是华为发起并主导的一个开源操作系统项目,它基于Linux内核开发,致力于为企业级应用提供安全、稳定、可靠的操作环境。自2019年正式开源以来,openEuler迅速吸引了全球众多开发者和技术爱好者的关注,并逐渐形成了一个活跃的开源社区。该系统不仅支持多种处理器架构(如x86、ARM等),而且通过持续的技术创新,在性能优化、安全性增强以及容器化支持等方面展现了显著的优势。
- 主要特点
- 开源性:openEuler遵循开源协议,允许任何个人或组织自由获取、使用、修改及分发系统代码,这极大地促进了技术创新与共享。
- 高性能与稳定性:通过对Linux内核进行深度优化,openEuler能够提供出色的运行效率和稳定性,满足企业级应用场景的需求。
- 安全性:提供了包括安全启动、数据加密在内的多重安全保障措施,确保用户数据的安全性。
- 容器化支持:兼容Docker和Kubernetes等容器技术,便于开发者构建、部署和管理容器化应用。
- 丰富的生态系统:拥有庞大的开发者社区和丰富的软件库,为用户提供广泛的软件支持和服务。
1.2 Sqliteviz介绍
Sqliteviz 介绍:
Sqliteviz
是一款单页面、支持离线优先的渐进式 Web 应用(PWA),可在客户端完全实现 SQLite 数据库以及 CSV、JSON 或 NDJSON 文件的可视化。
主要特点:
- 支持对 SQLite 数据库执行 SQL 查询,并基于查询结果创建 Plotly 图表和透视表。
- 可将 CSV、JSON 或 NDJSON 文件导入 SQLite 数据库,并对导入的数据进行可视化分析。
- 支持将查询结果集导出为 CSV 文件。
- 提供查询管理功能,可将查询保存并应用于不同的数据库。
- 支持通过 JSON 文件导入和导出查询配置,便于分享和备份。
- 可将修改后的 SQLite 数据库文件导出并保存到本地。
- 作为 PWA 应用,可在离线状态下使用,并能像桌面应用一样从操作系统菜单启动。
二、本次实践介绍
2.1 本次实践介绍
1.本次实践环境为个人测试环境,生产环境请谨慎;
2.本次实践主要是在openEuler系统下部署Sqliteviz工具。
2.2 本次环境规划
本次环境规划如下所示:
服务器 | HostName | IP地址 | 操作系统 | 内核版本 | 部署项目 | 备注 |
---|---|---|---|---|---|---|
VM虚拟机 | openEuler-server | 192.168.3.83 | openEuler 24.03 (LTS) | 6.6.0-28.0.0.34.oe2403.x86_64 | Sqliteviz | —— |
三、本地环境检查
3.1 检查系统版本
检查当前系统版本,当前系统版本为
openEuler 24.03 (LTS)
。
[root@openEuler-server ~]# cat /etc/os-release
NAME="openEuler"
VERSION="24.03 (LTS)"
ID="openEuler"
VERSION_ID="24.03"
PRETTY_NAME="openEuler 24.03 (LTS)"
ANSI_COLOR="0;31"
3.2 检查内核版本
检查当前内核版本,如下所示:
[root@openEuler-server ~]# uname -r
6.6.0-28.0.0.34.oe2403.x86_64
3.3 检查本地IP
查看本地IP地址,本次实践本地IP设置为
192.168.3.83/24
。
[root@openEuler-server ~]# ifconfig ens18
ens18: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.3.83 netmask 255.255.255.0 broadcast 192.168.3.255
inet6 fe80::be24:11ff:feaa:bfa5 prefixlen 64 scopeid 0x20<link>
ether bc:24:11:aa:bf:a5 txqueuelen 1000 (Ethernet)
RX packets 1267 bytes 134016 (130.8 KiB)
RX errors 0 dropped 64 overruns 0 frame 0
TX packets 321 bytes 36697 (35.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
3.4 检查Docker环境
本次实践需要提前部署好Docker环境,检查Docker版本如下所示:
[root@openEuler-server ~]# docker -v
Docker version 26.1.3, build b72abbb
四、部署Sqliteviz平台
4.1 下载Sqliteviz镜像
拉取Sqliteviz镜像,如下所示:
docker pull registry.cn-hangzhou.aliyuncs.com/jeson/sqliteviz:latest
4.2 创建部署目录
新建部署目录/data/sqliteviz,如下所示:
mkdir -p /data/sqliteviz && cd /data/sqliteviz
4.3 编辑docker-compose.yaml文件
如果使用docker-cli方式部署,可参考以下命令:
docker run -d \
--name sqliteviz \
-p 7760:80 \
registry.cn-hangzhou.aliyuncs.com/jeson/sqliteviz:latest
新建及编辑docker-compose.yaml文件, 内容如下所示。可自行修改宿主机映射端口,注意防止宿主机端口冲突。
vim docker-compose.yaml
version: '3'
services:
sqliteviz:
image: registry.cn-hangzhou.aliyuncs.com/jeson/sqliteviz:latest
container_name: sqliteviz
restart: always
ports:
- 7200:80
4.4 部署Sqliteviz应用
使用docker compose命令快速部署Sqliteviz,如下所示:
[root@openEuler-server sqliteviz]# docker compose up -d
WARN[0000] /data/sqliteviz/docker-compose.yaml: `version` is obsolete
[+] Running 2/2
✔ Network sqliteviz_default Created 0.1s
✔ Container sqliteviz Started 0.6s
4.5 检查Sqliteviz容器状态
检查Sqliteviz各容器状态,确保各组件容器正常启动。
[root@openEuler-server sqliteviz]# docker compose ps
WARN[0000] /data/sqliteviz/docker-compose.yaml: `version` is obsolete
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
sqliteviz registry.cn-hangzhou.aliyuncs.com/jeson/sqliteviz:latest "nginx -g 'daemon of…" sqliteviz 4 seconds ago Up 3 seconds 0.0.0.0:7200->80/tcp, :::7200->80/tcp
五、访问Sqliteviz服务
访问地址:http://【服务器IP地址】:7200,将IP替换为自己服务器IP地址。如果无法访问到该页面,检查防火墙是否关闭或者放行相关端口,云服务器则还需设置安全组规则。
六、Sqliteviz基本操作
6.1 创建测试数据
我们点击创建空数据库,如下所示:
点击保存并运行以下语句,即可创建测试数据。
/*
* Your database is empty. In order to start building charts
* you should create a table and insert data into it.
*/
-- 创建一个示例表:学生考试成绩
CREATE TABLE exam_scores (
student_id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
subject TEXT NOT NULL,
score INTEGER CHECK (score BETWEEN 0 AND 100),
class TEXT,
exam_date DATE
);
-- 插入测试数据
INSERT INTO exam_scores (name, subject, score, class, exam_date) VALUES
('Alice', 'Math', 85, 'Class A', '2025-09-01'),
('Alice', 'Science', 78, 'Class A', '2025-09-03'),
('Bob', 'Math', 92, 'Class B', '2025-09-01'),
('Bob', 'Science', 88, 'Class B', '2025-09-03'),
('Charlie', 'Math', 76, 'Class A', '2025-09-01'),
('Charlie', 'Science', 95, 'Class A', '2025-09-03'),
('Diana', 'Math', 98, 'Class B', '2025-09-01'),
('Diana', 'Science', 82, 'Class B', '2025-09-03'),
('Eve', 'Math', 88, 'Class A', '2025-09-01'),
('Eve', 'Science', 91, 'Class A', '2025-09-03');
6.2 查询数据
点击“Create”,使用以下查询语句即可查看数据表内容。
SELECT * FROM exam_scores;
七、总结
本次实践成功在华为openEuler系统上部署了Sqliteviz可视化工具,实现了对SQLite数据库的图形化操作。通过Docker方式快速部署,提升了环境搭建的效率与可维护性,充分发挥了openEuler系统的稳定性和兼容性优势。整个过程体现了华为根技术在支撑开源工具链方面的成熟度与实用性。未来可进一步集成更多数据管理工具,构建国产化基础软件生态的完整解决方案。
- 点赞
- 收藏
- 关注作者
评论(0)