はじめに
Linux環境での開発に欠かせないのがデータベース管理システム(DBMS)です。特に MySQL と PostgreSQL はオープンソースの代表格であり、Webアプリケーションや業務システムで幅広く利用されています。
この記事では、Linux上での MySQL と PostgreSQL のインストール方法から、基本的な操作コマンドまでをわかりやすく解説します。
1. MySQLのセットアップ
1-1. インストール
Debian/Ubuntu 系の場合
sudo apt update
sudo apt install mysql-server -y
RHEL/CentOS 系の場合
sudo dnf install @mysql -y
インストール後、自動的に MySQL サービスが起動します。状態を確認するには
systemctl status mysql
1-2. セキュリティ設定
初期設定ウィザードを実行し、rootパスワードや不要な匿名ユーザーを削除します。
sudo mysql_secure_installation
1-3. 基本操作
MySQL シェルへ接続
mysql -u root -p
データベースの作成
CREATE DATABASE sample_db;
ユーザー作成と権限付与
CREATE USER 'sample_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON sample_db.* TO 'sample_user'@'localhost';
FLUSH PRIVILEGES;
テーブル作成とデータ挿入
USE sample_db;
CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50));
INSERT INTO users (name) VALUES ('Alice'), ('Bob');
SELECT * FROM users;
2. PostgreSQLのセットアップ
2-1. インストール
Debian/Ubuntu 系の場合
sudo apt update
sudo apt install postgresql postgresql-contrib -y
RHEL/CentOS 系の場合
sudo dnf install postgresql-server postgresql-contrib -y
sudo postgresql-setup --initdb
サービス起動
sudo systemctl enable postgresql
sudo systemctl start postgresql
2-2. PostgreSQLユーザー切り替え
インストール直後は postgres
という管理用Linuxユーザーが作成されます。
sudo -i -u postgres
psql
2-3. 基本操作
データベース作成
CREATE DATABASE sample_db;
ユーザー作成と権限付与
CREATE USER sample_user WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE sample_db TO sample_user;
テーブル作成とデータ操作
\c sample_db
CREATE TABLE users (id SERIAL PRIMARY KEY, name VARCHAR(50));
INSERT INTO users (name) VALUES ('Alice'), ('Bob');
SELECT * FROM users;
3. MySQLとPostgreSQLの比較ポイント
項目 | MySQL | PostgreSQL |
---|---|---|
特徴 | 高速・軽量、LAMP環境で人気 | 高機能・標準SQL準拠、拡張性が高い |
トランザクション | 対応 (InnoDB) | 強力なACID準拠 |
JSON対応 | あり | 高度なJSON機能 |
利用シーン | Webアプリ、CMS | 業務システム、分析基盤 |
まとめ
- MySQL はシンプルで導入が容易、Web開発に向いています。
- PostgreSQL は機能が豊富で堅牢性が高く、大規模システムに強みがあります。
- Linux上では
apt
やdnf
を使って簡単に導入可能。 - どちらも基本操作(DB作成・ユーザー作成・テーブル作成・データ操作)は共通的な流れです。
LinuxでのDBセットアップを習得することで、システム開発やデータ処理の幅が大きく広がります。