「データベースを使ってみたいけど、設定がたいへんそう…」
そんな風に思ったことはありませんか?データベースといえば、サーバーを立てたり、ユーザー管理をしたりと、むずかしそうなイメージがあるかもしれません。
でも、SQLiteなら大丈夫です!
SQLiteは「ファイル一つがデータベース」という、とてもシンプルなデータベースです。
サーバーの設定も不要で、インストールもとても簡単。プログラミングの学習やちょっとしたツール作りに最適です。
この記事では、Linux環境でSQLiteをインストールする方法を、主要なディストリビューション別にわかりやすく説明します。
SQLiteとは?

簡単に言うと
SQLiteは、とても軽くて使いやすいデータベースです。普通のデータベース(MySQLやPostgreSQLなど)とちがって、サーバーを立てる必要がありません。
データベースの内容は、ひとつのファイルにすべて保存されます。
SQLiteの特徴
軽量でシンプル:
- ファイルサイズは数MBと小さい
- 設定ファイルがいらない
- 管理者パスワードも不要
ファイルベース:
- データベース = 一つのファイル
- ファイルをコピーするだけでバックアップ完了
- USBメモリでデータベースを持ち運べる
標準SQL対応:
- 一般的なSQL文が使える
- SELECT、INSERT、UPDATE、DELETEがすべて使用可能
- JOINやサブクエリも対応
プログラミング言語からの利用:
- Python、JavaScript、PHP、Javaなど、ほとんどの言語から使える
- 多くの言語で標準ライブラリとして提供
どんなときに使う?
こんな場面で活躍:
- プログラミングの学習
- 個人的なデータ管理ツール
- 小規模なWebアプリケーション
- モバイルアプリのデータ保存
- ログファイルの解析
- 設定情報の保存
実際の使用例:
# 簡単なTODOリストのデータベース
sqlite3 todo.db
sqlite> CREATE TABLE tasks (id INTEGER PRIMARY KEY, task TEXT, done BOOLEAN);
sqlite> INSERT INTO tasks (task, done) VALUES ('買い物', 0);
sqlite> SELECT * FROM tasks;
他のデータベースとの比較
特徴 | SQLite | MySQL | PostgreSQL |
---|---|---|---|
サーバー設定 | 不要 | 必要 | 必要 |
ファイルサイズ | 数MB | 数百MB | 数百MB |
同時接続ユーザー | 制限あり | 多数対応 | 多数対応 |
学習コスト | 低い | 中程度 | 高い |
用途 | 個人・小規模 | 中規模以上 | 大規模・高機能要求 |
インストール前の準備
自分のLinuxディストリビューションを確認
インストール方法は、使っているLinuxの種類(ディストリビューション)によって変わります。
まず、どのディストリビューションを使っているか確認しましょう。
確認方法:
# ディストリビューション名を確認
cat /etc/os-release
よく見る結果:
# Ubuntu の場合
NAME="Ubuntu"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
# CentOS の場合
NAME="CentOS Linux"
VERSION="8"
# Fedora の場合
NAME="Fedora Linux"
VERSION="38"
パッケージマネージャーの種類
ディストリビューション | パッケージマネージャー | インストールコマンド |
---|---|---|
Ubuntu, Debian | apt | sudo apt install |
CentOS, RHEL | yum/dnf | sudo yum install |
Fedora | dnf | sudo dnf install |
Arch Linux | pacman | sudo pacman -S |
openSUSE | zypper | sudo zypper in |
インストール権限の確認
SQLiteをインストールするには、管理者権限(sudo)が必要です。
権限確認:
sudo -l
パスワードを求められたら:
- 自分のユーザーパスワードを入力
- rootパスワードではありません
Ubuntu / Debian系の場合
Ubuntu、Debian、Linux Mint、elementary OSなどで使える方法です。
基本的なインストール手順
ステップ1:パッケージリストを更新
sudo apt update
これにより、最新のパッケージ情報が取得されます。
ステップ2:SQLiteをインストール
sudo apt install sqlite3
ステップ3:開発ツールもインストール(推奨)
sudo apt install sqlite3-dev
sqlite3-dev
は、プログラムからSQLiteを使う場合に必要なヘッダーファイルが含まれています。
インストール内容の詳細
インストールされるもの:
sqlite3
:SQLiteコマンドラインツールlibsqlite3-0
:SQLiteライブラリ(自動でインストール)
インストール先:
- 実行ファイル:
/usr/bin/sqlite3
- ライブラリ:
/usr/lib/x86_64-linux-gnu/
バージョンとパッケージ情報の確認
インストールされたバージョンを確認:
sqlite3 --version
実行結果例:
3.37.2 2022-01-06 13:25:41 872ba256cbf61d9290b571c0e6d82a20c224ca3ad82971edc46b29818d5dalt1
パッケージの詳細情報を確認:
apt show sqlite3
どのファイルがインストールされたか確認:
dpkg -L sqlite3
Ubuntu 固有の注意点
LTSバージョンでの安定性:
- Ubuntu LTS(Long Term Support)版では、安定したバージョンのSQLiteが提供されます
- 最新機能より安定性を重視
PPAを使った最新版の取得: 最新版が必要な場合は、PPA(Personal Package Archive)を使用:
sudo add-apt-repository ppa:sergey-dryabzhinsky/packages
sudo apt update
sudo apt install sqlite3
Red Hat / CentOS / Fedora系の場合

CentOS、RHEL、Fedora、Rocky Linux、AlmaLinuxなどで使える方法です。
Fedora / 新しいCentOS(CentOS 8以降)の場合
ステップ1:SQLiteをインストール
sudo dnf install sqlite
ステップ2:開発ツールもインストール(推奨)
sudo dnf install sqlite-devel
古いCentOS(CentOS 7以前)の場合
ステップ1:SQLiteをインストール
sudo yum install sqlite
ステップ2:開発ツールもインストール(推奨)
sudo yum install sqlite-devel
RHEL(Red Hat Enterprise Linux)の場合
サブスクリプション確認:
sudo subscription-manager status
EPELリポジトリを有効化(推奨):
sudo dnf install epel-release
sudo dnf install sqlite
パッケージ情報の確認
インストールされたバージョンを確認:
sqlite3 --version
パッケージの詳細情報を確認:
# Fedora/新しいCentOS の場合
dnf info sqlite
# 古いCentOS の場合
yum info sqlite
どのファイルがインストールされたか確認:
rpm -ql sqlite
Red Hat系固有の注意点
SELinuxの影響: Red Hat系ではSELinuxが有効な場合があります。SQLiteファイルの作成場所によっては、SELinuxの設定が必要:
# SELinuxの状態確認
sestatus
# 必要に応じてコンテキストを設定
chcon -t user_home_t ~/mydata.db
ファイアウォール: ローカル利用のみなら影響ありませんが、ネットワーク経由でアクセスする場合は設定が必要です。
Arch Linux系の場合
Arch Linux、Manjaro、EndeavourOSなどで使える方法です。
基本的なインストール手順
ステップ1:パッケージデータベースを更新
sudo pacman -Sy
ステップ2:SQLiteをインストール
sudo pacman -S sqlite
Arch Linuxの特徴
ローリングリリース:
- 常に最新版のSQLiteが提供される
- 定期的なシステム更新で最新機能が使える
シンプルなパッケージ構成:
- 必要最小限のパッケージでインストール
- 依存関係は自動で解決
バージョンと詳細情報の確認
インストールされたバージョンを確認:
sqlite3 --version
パッケージ情報を確認:
pacman -Qi sqlite
パッケージの内容を確認:
pacman -Ql sqlite
Arch Linux固有の注意点
頻繁な更新:
- システム更新のたびにSQLiteも更新される可能性
- 安定性より最新性を重視
AUR(Arch User Repository)の活用: 特別なビルドが必要な場合:
# AURヘルパー(yay)を使う場合
yay -S sqlite-git
その他のディストリビューション
openSUSE の場合
openSUSE Tumbleweed(ローリングリリース):
sudo zypper install sqlite3
openSUSE Leap(安定版):
sudo zypper install sqlite3 sqlite3-devel
Alpine Linux の場合
軽量でコンテナ向き:
apk add sqlite
Gentoo の場合
ソースからコンパイル:
emerge sqlite
USE フラグの設定:
echo "dev-db/sqlite readline secure-delete" >> /etc/portage/package.use
emerge sqlite
ソースからビルドする場合

パッケージマネージャーで提供されるバージョンが古い場合や、最新機能を使いたい場合は、ソースからビルドできます。
事前準備
必要なツールをインストール:
Ubuntu/Debian系:
sudo apt install build-essential wget
Red Hat/CentOS/Fedora系:
sudo dnf groupinstall "Development Tools"
sudo dnf install wget
Arch Linux系:
sudo pacman -S base-devel wget
ソースからのビルド手順
ステップ1:最新版をダウンロード
# 作業用ディレクトリを作成
mkdir ~/sqlite-build
cd ~/sqlite-build
# SQLite公式サイトから最新版をダウンロード
wget https://www.sqlite.org/2023/sqlite-autoconf-3430200.tar.gz
ステップ2:解凍して移動
tar -xzf sqlite-autoconf-3430200.tar.gz
cd sqlite-autoconf-3430200
ステップ3:ビルド設定
./configure --prefix=/usr/local
ステップ4:コンパイル
make -j$(nproc)
$(nproc)
は利用可能なCPUコア数を自動取得します。
ステップ5:インストール
sudo make install
ステップ6:動的リンクライブラリの更新
sudo ldconfig
ビルドオプションの説明
よく使われるオプション:
./configure \
--prefix=/usr/local \
--enable-fts5 \
--enable-json1 \
--enable-rtree \
--enable-session \
--enable-shared \
--enable-static
オプションの意味:
--enable-fts5
:全文検索機能を有効--enable-json1
:JSON関数を有効--enable-rtree
:R-Tree インデックスを有効--enable-session
:セッション機能を有効
ソースビルドの注意点
バージョン管理:
- パッケージマネージャーとは別管理になる
- 手動でアップデートが必要
依存関係:
- 他のソフトウェアとの互換性に注意
- システム標準のライブラリと競合する可能性
インストール後の確認と基本操作
正常にインストールされたかの確認
SQLiteコマンドの実行:
sqlite3
成功すると、以下のような画面が表示されます:
SQLite version 3.37.2 2022-01-06 13:25:41
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite>
プロンプトの見方:
sqlite>
:SQLiteのコマンド待ち状態.help
:ヘルプコマンド.quit
:SQLiteを終了
基本的な動作テスト
簡単なデータベース操作を試してみる:
ステップ1:データベースファイルを作成
sqlite3 test.db
ステップ2:テーブルを作成
sqlite> CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER);
ステップ3:データを挿入
sqlite> INSERT INTO users (name, age) VALUES ('太郎', 25);
sqlite> INSERT INTO users (name, age) VALUES ('花子', 30);
ステップ4:データを確認
sqlite> SELECT * FROM users;
1|太郎|25
2|花子|30
ステップ5:SQLiteを終了
sqlite> .quit
ファイルの確認
データベースファイルの確認:
ls -la test.db
file test.db
結果例:
-rw-r--r-- 1 user user 8192 Oct 15 10:30 test.db
test.db: SQLite 3.x database
コマンドラインオプション
便利なオプション:
# ヘッダー付きで表示
sqlite3 -header test.db "SELECT * FROM users;"
# CSVモードで出力
sqlite3 -csv test.db "SELECT * FROM users;"
# HTML形式で出力
sqlite3 -html test.db "SELECT * FROM users;"
# SQLスクリプトを実行
sqlite3 test.db < script.sql
SQLiteの内部コマンド
データベース構造の確認:
-- テーブル一覧を表示
.tables
-- スキーマを表示
.schema
-- データベース情報を表示
.dbinfo
-- インデックス一覧を表示
.indexes
トラブルシューティング

よくある問題と解決方法
「sqlite3: command not found」エラー
原因:SQLiteがインストールされていないか、PATHが通っていない
解決方法:
# インストール状況の確認
which sqlite3
# パッケージの確認(Ubuntu/Debian)
dpkg -l | grep sqlite
# パッケージの確認(Red Hat系)
rpm -qa | grep sqlite
# 再インストール
sudo apt install sqlite3 # Ubuntu/Debian
sudo dnf install sqlite # Fedora/CentOS
権限エラーでデータベースファイルが作成できない
エラー例:
Error: unable to open database "test.db": unable to open database file
解決方法:
# 現在のディレクトリの権限確認
ls -la .
# 書き込み権限のあるディレクトリで実行
cd ~/
sqlite3 test.db
# または権限のあるディレクトリを指定
sqlite3 /tmp/test.db
古いバージョンのSQLiteがインストールされる
確認方法:
sqlite3 --version
解決方法:
# パッケージリポジトリの更新
sudo apt update # Ubuntu/Debian
sudo dnf update # Fedora/CentOS
# 必要に応じてソースからビルド
# (前述のソースビルド手順を参照)
SELinux関連のエラー(Red Hat系)
エラー例:
sqlite3: Permission denied
解決方法:
# SELinuxの状態確認
sestatus
# 一時的に無効化(テスト用)
sudo setenforce 0
# ファイルコンテキストの確認
ls -Z test.db
# 適切なコンテキストを設定
chcon -t user_home_t test.db
パフォーマンスの確認
SQLiteの設定確認:
-- コンパイル時のオプション確認
sqlite> PRAGMA compile_options;
-- ページサイズの確認
sqlite> PRAGMA page_size;
-- キャッシュサイズの確認
sqlite> PRAGMA cache_size;
まとめ
SQLiteは、Linuxでデータベースを始めるのに最適なツールです。
インストールも簡単で、すぐに使い始められるのが大きな魅力です。
ディストリビューション別まとめ
ディストリビューション | インストールコマンド | 特徴 |
---|---|---|
Ubuntu/Debian | sudo apt install sqlite3 | 安定版、豊富なパッケージ |
Fedora/CentOS | sudo dnf install sqlite | 企業向け、セキュリティ重視 |
Arch Linux | sudo pacman -S sqlite | 最新版、シンプル構成 |
openSUSE | sudo zypper install sqlite3 | 堅実、企業向け |
コメント