Linux上でのMySQL・PostgreSQLのセットアップと基本操作

はじめに

Linux環境での開発に欠かせないのがデータベース管理システム(DBMS)です。特に MySQLPostgreSQL はオープンソースの代表格であり、Webアプリケーションや業務システムで幅広く利用されています。
この記事では、Linux上での MySQLPostgreSQL のインストール方法から、基本的な操作コマンドまでをわかりやすく解説します。


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の比較ポイント

項目MySQLPostgreSQL
特徴高速・軽量、LAMP環境で人気高機能・標準SQL準拠、拡張性が高い
トランザクション対応 (InnoDB)強力なACID準拠
JSON対応あり高度なJSON機能
利用シーンWebアプリ、CMS業務システム、分析基盤

まとめ

  • MySQL はシンプルで導入が容易、Web開発に向いています。
  • PostgreSQL は機能が豊富で堅牢性が高く、大規模システムに強みがあります。
  • Linux上では aptdnf を使って簡単に導入可能。
  • どちらも基本操作(DB作成・ユーザー作成・テーブル作成・データ操作)は共通的な流れです。

LinuxでのDBセットアップを習得することで、システム開発やデータ処理の幅が大きく広がります。

タイトルとURLをコピーしました