MySQLとPostgreSQLは、世界中で広く利用されているリレーショナルデータベース管理システム(RDBMS)であり、特にUbuntuのようなLinuxディストリビューションでの使用が一般的です。本記事では、UbuntuにMySQLとPostgreSQLを完全かつ包括的にインストールし、設定する方法を詳述します。
MySQLのインストールと設定
1. MySQLのインストール
Ubuntuでは、公式のリポジトリからMySQLを簡単にインストールできます。まず、システムを最新の状態に更新しましょう。
bashsudo apt update sudo apt upgrade
その後、以下のコマンドを実行してMySQLをインストールします。
bashsudo apt install mysql-server
インストールが完了したら、MySQLサービスが自動的に開始されます。サービスの状態を確認するためには、次のコマンドを使用します。
bashsudo systemctl status mysql
MySQLが正常に動作していることを確認したら、次のステップに進みます。
2. MySQLのセキュリティ設定
インストール後、mysql_secure_installation
コマンドを実行して、基本的なセキュリティ設定を行います。これにより、rootパスワードの設定、匿名ユーザーの削除、リモートrootログインの無効化などが行われます。
bashsudo mysql_secure_installation
プロンプトに従って設定を進めます。通常、以下の選択肢を選びます:
- パスワードの設定
- 匿名ユーザーの削除
- リモート接続の無効化
- テストデータベースの削除
- 設定の適用
3. MySQLの接続確認
MySQLに接続して、正常に動作しているかを確認します。
bashsudo mysql -u root -p
rootユーザーのパスワードを入力し、MySQLシェルに入ります。以下のSQLコマンドを使って、簡単なデータベースの作成を試みます。
sqlCREATE DATABASE test_db;
SHOW DATABASES;
これでMySQLが正常に動作していることが確認できます。
4. MySQLの設定変更(任意)
MySQLの設定を変更するには、設定ファイル/etc/mysql/mysql.conf.d/mysqld.cnf
を編集します。例えば、デフォルトのポート番号を変更する場合、port
ディレクティブを編集します。
bashsudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
変更後、MySQLサービスを再起動して設定を適用します。
bashsudo systemctl restart mysql
PostgreSQLのインストールと設定
1. PostgreSQLのインストール
次に、PostgreSQLをインストールします。Ubuntuの公式リポジトリからインストールが可能です。まず、システムを更新します。
bashsudo apt update sudo apt upgrade
その後、PostgreSQLとそのクライアントツールをインストールします。
bashsudo apt install postgresql postgresql-contrib
インストールが完了したら、PostgreSQLサービスが自動的に起動します。サービスの状態を確認するには、以下のコマンドを使用します。
bashsudo systemctl status postgresql
2. PostgreSQLの初期設定
PostgreSQLは、デフォルトで「postgres」というシステムユーザーを作成します。PostgreSQLに接続するには、このユーザーとしてログインする必要があります。
bashsudo -i -u postgres psql
これでPostgreSQLシェルに入ることができます。簡単なデータベースを作成してみましょう。
sqlCREATE DATABASE test_db;
\list
3. PostgreSQLのセキュリティ設定
PostgreSQLでは、pg_hba.conf
という設定ファイルで接続制御を行います。このファイルは、デフォルトではローカル接続のみを許可しています。リモート接続を許可する場合は、次の手順で設定を変更します。
bashsudo nano /etc/postgresql/{version}/main/pg_hba.conf
ファイル内で、接続方式を変更します。例えば、IPv4接続を許可する場合は、host
行を次のように変更します。
csshost all all 0.0.0.0/0 md5
その後、PostgreSQLサービスを再起動して設定を反映させます。
bashsudo systemctl restart postgresql
4. PostgreSQLのユーザーと権限設定
PostgreSQLで新しいユーザーを作成し、データベースの管理権限を与える方法を説明します。まず、新しいユーザーを作成します。
sqlCREATE USER new_user WITH PASSWORD 'password';
次に、特定のデータベースに対するアクセス権を付与します。
sqlGRANT ALL PRIVILEGES ON DATABASE test_db TO new_user;
5. PostgreSQLの接続確認
PostgreSQLに接続して、正常に動作しているか確認します。psql
コマンドで新しいユーザーとして接続できます。
bashpsql -U new_user -d test_db
接続できたら、問題なく動作していることが確認できます。
MySQLとPostgreSQLの比較
MySQLとPostgreSQLは、それぞれ異なる特徴を持っており、使用するシナリオによって選択が変わります。
-
MySQLは、パフォーマンス重視で、特にウェブアプリケーションやPHPベースのシステム(WordPressなど)でよく使用されます。シンプルで直感的な設定が特徴です。
-
PostgreSQLは、トランザクション管理やデータ整合性を重視したRDBMSです。複雑なクエリ処理や、大規模なデータを扱うシステムで優れたパフォーマンスを発揮します。
まとめ
UbuntuにMySQLとPostgreSQLをインストールし、基本的な設定を行う方法について説明しました。MySQLはシンプルで広く利用されているデータベースシステムであり、PostgreSQLはより高機能で複雑なシステムに向いています。両者を理解し、目的に応じた適切なデータベースを選択することが重要です。