テクノロジーガイド

CentOS 7 と Ubuntu 16.04 に MySQL 5.7 をインストールして設定する

3 min read データベース 更新されました 08 Oct 2025
CentOS 7 / Ubuntu 16.04 に MySQL 5.7 をインストール
CentOS 7 / Ubuntu 16.04 に MySQL 5.7 をインストール

目的と概要

MySQL はオラクル社が開発するオープンソースの関係データベース管理システム(RDBMS)です。GPL で公開されるコミュニティ版に加え、有償の拡張機能を含むエディションも存在します。MySQL は LAMP/LEMP スタックの要として広く利用されています。

この記事では次の手順を行います。

  1. 最新 MySQL を含むリポジトリを追加する
  2. MySQL 5.7 をインストールする
  3. ブート時に自動起動するように設定する
  4. 初期の root パスワードを確認してリセットする
  5. テスト用に新規ユーザーとデータベースを作成する

前提条件

  • CentOS 7 または Ubuntu 16.04 に root または sudo 権限でログインできること
  • インターネット接続があること

Step 1 - 新しいリポジトリを追加する

MySQL は rpm/deb ベースそれぞれに対応する公式リポジトリパッケージを提供しています。まずはシステムに MySQL リポジトリを追加します。

CentOS 7 に対しては以下を実行します。

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

プロンプトで新しいリポジトリを追加するか尋ねられたら ‘y’ と入力して Enter を押します。

Ubuntu の場合は deb リポジトリパッケージをダウンロードして dpkg でインストールし、リポジトリ情報を更新します。

wget https://dev.mysql.com/get/mysql-apt-config_0.8.3-1_all.deb  
dpkg -i mysql-apt-config_0.8.3-1_all.deb  
apt-get update

インストール時にどの MySQL バージョンや追加ツールを有効にするか尋ねられます。デフォルトのまま進める場合は ‘Ok’ を選択して Enter を押してください。

Ubuntu に MySQL リポジトリを追加する画面

新しいリポジトリがシステムに追加されました。

Step 2 - MySQL 5.7 をインストールする

リポジトリが追加されたら、リポジトリ経由で mysql-community-server パッケージをインストールします。

CentOS:

yum -y install mysql-community-server

Ubuntu:

apt-get install -y mysql-community-server

重要: Ubuntu ではインストール中に MySQL root パスワードの入力を求められます。強力なパスワードを入力して再入力してください。

インストールが完了すると MySQL 5.7 がシステムに導入されます。

Step 3 - MySQL を起動しブート時に自動起動するよう設定する

インストール後はサービスを起動して、systemd による自動起動を有効にします。

CentOS(サービス名: mysqld):

systemctl start mysqld  
systemctl enable mysqld

Ubuntu(サービス名: mysql):

systemctl start mysql  
systemctl enable mysql

MySQL は通常ポート 3306 を使用します。接続ポートを確認するには次のコマンドを利用します。

netstat -plntu

ブート時に自動起動するか確認するには is-enabled を使います。

CentOS:

systemctl is-enabled mysqld

mysqld を起動してブート時起動を有効化した例

Ubuntu:

systemctl is-enabled mysql

mysql を起動してブート時起動を有効化した例

結果が enabled ならブート時に自動的に起動されます。

Step 4 - MySQL root パスワードを設定する

MySQL のインストール直後に root のパスワード設定状態はディストリビューションにより異なります。Ubuntu ではインストール時に対話的に設定されるため、追加設定は不要なことが多いです。一方 CentOS 7 では mysqld 起動時に強力な初期パスワードが自動生成され、/var/log/mysqld.log に出力されます。

CentOS で初期パスワードを確認するには次のコマンドを使用します。

grep 'temporary' /var/log/mysqld.log

ログに表示された一時パスワードで MySQL にログインしてから、必ず新しい強力なパスワードへ変更してください。

mysql -u root -p  
TYPE DEFAULT PASSWORD

パスワードを変更する SQL は以下です(例として Newhakase-labs123@ を示しています。必ず固有の強いパスワードを使用してください)。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Newhakase-labs123@';  
flush privileges;

パスワードを変更したら安全のためログを整理し、生成された一時パスワードは残さないでください。

Linux 上で MySQL root のデフォルトパスワードを変更する画面

注記: 上記の ALTER USER クエリは CentOS と Ubuntu の両方で root パスワードのリセットに利用できます。

Step 5 - テストと基本操作

新しいパスワードで MySQL に接続し、テスト用データベースとユーザーを作成して権限を付与します。

root で接続:

mysql -u root -p  
TYPE NEW PASSWORD: Newhakase-labs123@

データベース作成(例: hakaselabs):

create database hakaselabs;

ユーザー作成(例: hakase):

create user hakase@localhost identified by 'Hakase123@';

データベースに対する権限付与:

grant all privileges on hakaselabs.* to hakase@localhost identified by 'Hakase123@';  
flush privileges;

新しいユーザーとデータベースを作成し権限を付与した例

新ユーザーで接続してデータベース一覧を確認します。

mysql -u hakase -p  
TYPE THE PASSWORD: Hakase123@

show databases;

新規ユーザーで接続してデータベースを確認した例

以上で MySQL 5.7 の基本インストールと初期設定は完了です。

トラブルシューティングとよくあるケース

重要: 実運用前に必ず次の点を確認してください。特に root パスワード・ファイアウォール・リモート接続設定はセキュリティに直結します。

  • サービスが起動しない場合

    • systemctl status mysqld または systemctl status mysql でログを確認する
    • /var/log/mysqld.log または /var/log/mysql/error.log を参照する
    • ポート 3306 が別サービスで占有されていないか確認する
  • パスワードがわからない場合

    • CentOS の場合は /var/log/mysqld.log に一時パスワードがあるか確認する
    • どうしても接続できない場合は –skip-grant-tables モードで起動して root パスワードをリセットする手順を検討する(その際はダウンタイムとリスクを考慮)
  • リモートから接続できない場合

    • MySQL の bind-address 設定(通常 /etc/my.cnf または /etc/mysql/mysql.conf.d/)を確認して 0.0.0.0 または接続先 IP を許可する
    • ファイアウォール(firewalld/ufw)でポート 3306 を開放する
  • インストールが失敗する場合

    • 既存の旧バージョンが残っていると競合する場合がある。旧パッケージを削除してから再試行する
    • パッケージの依存関係エラーはリポジトリ設定や apt/yum のキャッシュをクリアして再試行する

運用チェックリスト(役割別)

  • システム管理者

    • systemctl の自動起動を確認する
    • ログローテーションとログ保存先を設定する
    • セキュリティパッチを定期的に適用する
  • DB 管理者(DBA)

    • 適切なバックアップ(mysqldump / XtraBackup)を設定する
    • ユーザー権限の最小化を実施する
    • パフォーマンス監視(slow query log, mysqltuner 等)を導入する
  • 開発者

    • 接続情報(ホスト/ポート/ユーザー/パスワード)の管理方法を決める(環境変数やシークレットストア)
    • マイグレーションやスキーマ変更の手順を文書化する

コマンドのチートシート

  • リポジトリ追加

  • インストール

    • CentOS: yum -y install mysql-community-server
    • Ubuntu: apt-get install -y mysql-community-server
  • サービス管理

    • systemctl start|stop|restart mysqld または mysql
    • systemctl enable mysqld または mysql
    • systemctl is-enabled mysqld または mysql
  • 接続

    • mysql -u root -p
  • パスワード変更

    • ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新しい強いパスワード’;

テストケースと受け入れ条件

  • インストール後に MySQL サービスが active (running) になっていること

    • コマンド: systemctl status mysqld または systemctl status mysql
  • root でログインできること(パスワード変更後)

    • コマンド: mysql -u root -p
  • 新規ユーザーでデータベースに接続できること

    • コマンド: mysql -u hakase -p で show databases; が hakaselabs を返す
  • ブート後に自動起動すること

    • コマンド: systemctl is-enabled mysqld または systemctl is-enabled mysql が enabled を返す

移行時の注意点(CentOS と Ubuntu の違い)

  • サービス名の違い: CentOS は mysqld、Ubuntu は mysql(systemd の単純な違い)
  • 初期パスワードの扱い: CentOS は起動時に一時パスワードを生成する場合がある一方、Ubuntu はパッケージインストール時に対話で設定することが多い
  • パッケージ管理: rpm/yum と deb/apt の違いにより、リポジトリ追加やパッケージ名の取り扱いが異なる

1行用語集

  • RDBMS: 関係データベース管理システム。構造化されたテーブル形式でデータを扱うDB。

まとめ

  • MySQL 5.7 を CentOS 7 と Ubuntu 16.04 にインストールするには、公式リポジトリを追加して mysql-community-server を導入します。
  • サービスを起動・自動起動を有効にし、root パスワードを必ず安全なものに変更してください。
  • 新規ユーザーとデータベースを作成して接続を検証すれば基本的な導入は完了です。

参考リンク

https://dev.mysql.com/doc/refman/5.7/en/linux-installation.html

重要: 本手順は試験環境や初期導入ガイドです。実運用ではバックアップ、アクセス制御、監視、TLS など追加の安全対策を必ず実施してください。

共有する: X/Twitter Facebook LinkedIn Telegram
著者
編集

類似の素材

CentOS7でNginx+PHP‑FPM7+MariaDBにMoodle3.2を導入
システム構築

CentOS7でNginx+PHP‑FPM7+MariaDBにMoodle3.2を導入

Windows起動でプログラムが自動起動しない時の対処法
Windows

Windows起動でプログラムが自動起動しない時の対処法

プリインストールアプリを削除・無効化する方法
モバイル

プリインストールアプリを削除・無効化する方法

Warzone Dev Error 6068を修正する完全ガイド
ゲームトラブル

Warzone Dev Error 6068を修正する完全ガイド

WindowsでPowerShellのバージョンを確認する方法
システム管理

WindowsでPowerShellのバージョンを確認する方法

Edge に拡張機能を手動でインストールする方法
ブラウザ

Edge に拡張機能を手動でインストールする方法