外观
SQLite 在 Linux 上安装
本文档详细介绍 SQLite 在各种 Linux 发行版上的安装方法和配置步骤。
安装方法
使用包管理器安装
Debian/Ubuntu
bash
sudo apt-get update
sudo apt-get install sqlite3 libsqlite3-devCentOS/RHEL
bash
sudo yum install sqlite sqlite-develFedora
bash
sudo dnf install sqlite sqlite-develArch Linux
bash
sudo pacman -S sqlite从源代码编译安装
- 下载最新版本的 SQLite 源代码:
bash
wget https://www.sqlite.org/2023/sqlite-autoconf-3440200.tar.gz
tar -xzvf sqlite-autoconf-3440200.tar.gz
cd sqlite-autoconf-3440200- 编译并安装:
bash
./configure
make
sudo make install验证安装
安装完成后,可以通过以下命令验证 SQLite 是否安装成功:
bash
sqlite3 --version预期输出:
sqlite3 3.44.0 2023-11-01 11:23:50 93525403c12143aee0ff8a577399e94070845ebd9b9725354437d16569df19a5版本差异与注意事项
不同Linux发行版的SQLite版本差异
| 发行版 | 默认安装版本 | 备注 |
|---|---|---|
| Ubuntu 22.04 | 3.37.2 | 较新,支持JSON和GENERATED列 |
| Ubuntu 20.04 | 3.31.1 | 较旧,不支持GENERATED列 |
| CentOS 7 | 3.7.17 | 非常旧,不支持WAL模式优化 |
| CentOS 8 | 3.26.0 | 支持基本WAL模式,但缺少新特性 |
| Fedora 38 | 3.42.0 | 较新,支持大多数现代特性 |
| Arch Linux | 3.44.0 | 最新稳定版,支持所有新特性 |
生产环境安装建议
- 版本选择:对于生产环境,建议使用至少3.31.0以上版本,以支持WAL模式和JSON功能
- 编译选项:从源代码编译时,可以使用以下优化选项:bash
./configure --enable-threadsafe --enable-json1 --enable-session --enable-fts5 --enable-R-tree make sudo make install - 静态链接:考虑静态链接SQLite到应用程序,避免依赖系统版本
- 安全加固:确保编译时包含安全补丁,避免已知漏洞
配置与优化
环境变量配置
可以通过环境变量调整SQLite的行为:
bash
# 设置默认缓存大小(KB)
export SQLITE_DEFAULT_CACHE_SIZE=8192
# 设置默认页大小(字节)
export SQLITE_DEFAULT_PAGE_SIZE=4096编译时配置选项
| 选项 | 说明 | 推荐值 |
|---|---|---|
| --enable-threadsafe | 启用线程安全支持 | 是 |
| --enable-json1 | 启用JSON1扩展 | 是 |
| --enable-session | 启用会话管理支持 | 视需求而定 |
| --enable-fts5 | 启用全文搜索支持 | 视需求而定 |
| --enable-R-tree | 启用空间索引支持 | 视需求而定 |
安装后验证与测试
基本功能测试
bash
# 创建测试数据库
sqlite3 test.db "CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT);"
# 插入测试数据
sqlite3 test.db "INSERT INTO users (name) VALUES ('Test User');"
# 查询测试数据
sqlite3 test.db "SELECT * FROM users;"扩展功能测试
bash
# 测试JSON功能
sqlite3 test.db "SELECT json('{\"name\": \"Test\"}');"
# 测试WAL模式
sqlite3 test.db "PRAGMA journal_mode=WAL;"常见问题(FAQ)
Q: 如何升级 SQLite 到最新版本?
A: 对于旧版本发行版,可以从源代码编译安装最新版本,或使用第三方仓库如Ubuntu的PPA。
Q: 如何查看已安装的 SQLite 版本?
A: 使用 sqlite3 --version 命令,或在SQLite提示符下执行 .version 命令。
Q: 安装过程中遇到依赖问题怎么办?
A: 确保系统已更新,或尝试安装缺失的依赖包。对于复杂的依赖问题,可以考虑使用Docker容器。
Q: 如何处理安装后无法找到sqlite3命令的问题?
A: 检查是否将安装目录添加到了PATH环境变量中,或使用绝对路径执行命令。
Q: 如何配置系统默认使用新版本的SQLite?
A: 可以将新版本的安装目录添加到PATH环境变量的前面,或使用update-alternatives命令(部分发行版支持)。
Q: 从源代码编译安装后,如何卸载SQLite?
A: 进入源代码目录,执行 sudo make uninstall 命令。
Q: 如何在同一系统上安装多个版本的SQLite?
A: 可以将不同版本安装到不同目录,然后通过PATH环境变量或绝对路径来选择使用哪个版本。
