すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:Linux インスタンスへの MySQL のインストール

最終更新日:Apr 01, 2025

このトピックでは、Linux を実行する Elastic Compute Service(ECS)インスタンスに特定のバージョンの MySQL データベースを手動でデプロイする方法について説明します。

前提条件

  • パブリック IP アドレスは ECS インスタンスに自動的に割り当てられます。または、Elastic IP アドレス(EIP)が ECS インスタンスに関連付けられています。パブリック帯域幅を有効にする方法については、「パブリック帯域幅を有効にする」をご参照ください。

  • インバウンドルールは、ECS インスタンスに関連付けられたセキュリティグループに追加され、ポート 22 を開きます。セキュリティグループルールの追加方法については、「セキュリティグループルールの追加」をご参照ください。

MySQL のデプロイ

Alibaba Cloud Linux 3

  1. ECS インスタンスに接続します。詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. MySQL をインストールします。

    説明

    たとえば、MySQL 8.0 をインストールするには、リポジトリアドレスを https://repo.mysql.com/mysql80-community-release-el8-1.noarch.rpm に変更します。

    # 以前のバージョンの OpenSSL ライブラリと互換性のある compat-openssl10 をインストールします。
    sudo yum install -y compat-openssl10
    # 公式の MySQL リポジトリを追加します。
    sudo rpm -Uvh https://repo.mysql.com/mysql84-community-release-el8-1.noarch.rpm
    # MySQL をインストールします。
    sudo dnf install -y mysql-server
    # MySQL を起動し、システム起動時に自動的に起動するように構成します。
    sudo systemctl start mysqld
    sudo systemctl enable mysqld
  3. ルートユーザーのデフォルトの初期パスワードをクエリします。

    echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD)
  4. 次のコマンドを実行して、MySQL セキュリティ設定を構成します。

    sudo mysql_secure_installation
    1. root ユーザーの初期パスワードを入力します。

      説明

      パスワードを入力すると、パスワード文字は非表示になります。入力したパスワードが正しいことを確認してください。

      image

    2. ルートパスワードの期限切れを示すエラーメッセージが表示された場合は、root ユーザーの新しいパスワードを 2 回入力して指定します。

      重要

      パスワードは 8 文字以上で、大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含める必要があります。

      image

    3. root パスワードを変更した後、n を入力して新しいパスワードの再指定をスキップします。image

    4. 匿名ユーザーを削除するには、y を入力します。

      説明

      これにより、権限のないユーザーが有効な資格情報の入力手順をスキップして MySQL サーバーにアクセスすることを防ぎます。

      image

    5. root ユーザーが MySQL にアクセスできないようにするには、y を入力します。

      説明

      特定のシナリオで root ユーザーが MySQL サーバーに接続できるようにするには、y 以外のキーを押して、リモート root ユーザーのログインを許可します。

      image

    6. MySQL サーバーのプリインストール済み test データベースを削除するには、y を入力します。image

    7. 上記の変更を有効にするには、権限テーブルを再読み込みするために y を入力します。image

Alibaba Cloud Linux 2

  1. ECS インスタンスに接続します。詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. MySQL をインストールします。

    説明

    たとえば、MySQL 8.0 をインストールするには、リポジトリアドレスを https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm に変更します。

    # 公式の MySQL リポジトリを追加します。
    sudo rpm -Uvh https://repo.mysql.com/mysql84-community-release-el7-1.noarch.rpm
    # MySQL をインストールします。
    sudo yum install -y mysql-server
    # MySQL を起動し、システム起動時に自動的に起動するように構成します。
    sudo systemctl start mysqld
    sudo systemctl enable mysqld
  3. ルートユーザーのデフォルトの初期パスワードをクエリします。

    echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD)
  4. 次のコマンドを実行して、MySQL セキュリティ設定を構成します。

    sudo mysql_secure_installation
    1. root ユーザーの初期パスワードを入力します。

      説明

      パスワードを入力すると、パスワード文字は非表示になります。入力したパスワードが正しいことを確認してください。

      image

    2. ルートパスワードの期限切れを示すエラーメッセージが表示された場合は、root ユーザーの新しいパスワードを 2 回入力して指定します。

      重要

      パスワードは 8 文字以上で、大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含める必要があります。

      image

    3. root パスワードを変更した後、n を入力して新しいパスワードの再指定をスキップします。image

    4. 匿名ユーザーを削除するには、y を入力します。

      説明

      これにより、権限のないユーザーが有効な資格情報の入力手順をスキップして MySQL サーバーにアクセスすることを防ぎます。

      image

    5. root ユーザーが MySQL にアクセスできないようにするには、y を入力します。

      説明

      特定のシナリオで root ユーザーが MySQL サーバーに接続できるようにするには、y 以外のキーを押して、リモート root ユーザーのログインを許可します。

      image

    6. MySQL サーバーのプリインストール済み test データベースを削除するには、y を入力します。image

    7. 上記の変更を有効にするには、権限テーブルを再読み込みするために y を入力します。image

CentOS 8

  1. ECS インスタンスに接続します。詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. MySQL をインストールします。

    説明

    たとえば、MySQL 8.0 をインストールするには、リポジトリアドレスを https://repo.mysql.com/mysql80-community-release-el8-1.noarch.rpm に変更します。

    # 公式の MySQL リポジトリを追加します。
    sudo rpm -Uvh https://repo.mysql.com/mysql84-community-release-el8-1.noarch.rpm
    # MySQL をインストールします。
    sudo dnf install -y mysql-server
    # MySQL を起動し、システム起動時に自動的に起動するように構成します。
    sudo systemctl start mysqld
    sudo systemctl enable mysqld
  3. 次のコマンドを実行して、MySQL セキュリティ設定を構成します。

    sudo mysql_secure_installation
    1. VALIDATE PASSWORD コンポーネントを有効にするには、y を入力します。image

    2. 2 を入力します。パスワードは 8 文字以上で、大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含める必要があります。image

    3. root ユーザーの新しいパスワードを指定するには、新しいパスワードを 2 回入力します。

      重要

      パスワードは 8 文字以上で、大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含める必要があります。

      image

    4. 指定されたパスワードを引き続き使用するには、y を入力します。image

    5. 匿名ユーザーを削除するには、y を入力します。

      説明

      これにより、権限のないユーザーが有効な資格情報の入力手順をスキップして MySQL サーバーにアクセスすることを防ぎます。

      image

    6. root ユーザーが MySQL にアクセスできないようにするには、y を入力します。

      説明

      特定のシナリオで root ユーザーが MySQL サーバーに接続できるようにするには、y 以外のキーを押して、リモート root ユーザーのログインを許可します。

      image

    7. MySQL サーバーのプリインストール済み test データベースを削除するには、y を入力します。image

    8. 上記の変更を有効にするには、権限テーブルを再読み込みするために y を入力します。image

CentOS 7

  1. ECS インスタンスに接続します。詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. MySQL をインストールします。

    説明

    たとえば、MySQL 8.0 をインストールするには、リポジトリアドレスを https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm に変更します。

    # 公式の MySQL リポジトリを追加します。
    sudo rpm -Uvh https://repo.mysql.com/mysql84-community-release-el7-1.noarch.rpm
    # MySQL をインストールします。
    sudo yum install -y mysql-server
    # MySQL を起動し、システム起動時に自動的に起動するように構成します。
    sudo systemctl start mysqld
    sudo systemctl enable mysqld
  3. ルートユーザーのデフォルトの初期パスワードをクエリします。

    echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD)
  4. 次のコマンドを実行して、MySQL セキュリティ設定を構成します。

    sudo mysql_secure_installation
    1. root ユーザーの初期パスワードを入力します。

      説明

      パスワードを入力すると、パスワード文字は非表示になります。入力したパスワードが正しいことを確認してください。

      image

    2. ルートパスワードの期限切れを示すエラーメッセージが表示された場合は、root ユーザーの新しいパスワードを 2 回入力して指定します。

      重要

      パスワードは 8 文字以上で、大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含める必要があります。

      image

    3. root パスワードを変更した後、n を入力して新しいパスワードの再指定をスキップします。image

    4. 匿名ユーザーを削除するには、y を入力します。

      説明

      これにより、権限のないユーザーが有効な資格情報の入力手順をスキップして MySQL サーバーにアクセスすることを防ぎます。

      image

    5. root ユーザーが MySQL にアクセスできないようにするには、y を入力します。

      説明

      特定のシナリオで root ユーザーが MySQL サーバーに接続できるようにするには、y 以外のキーを押して、リモート root ユーザーのログインを許可します。

      image

    6. MySQL サーバーのプリインストール済み test データベースを削除するには、y を入力します。image

    7. 上記の変更を有効にするには、権限テーブルを再読み込みするために y を入力します。image

Ubuntu または Debian

  1. ECS インスタンスに接続します。詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. 次のコマンドを実行して、システムの Advanced Packaging Tool(APT)リポジトリを更新し、システムパッケージリストが更新されていることを確認します。

    sudo apt-get update
  3. MySQL APT リポジトリをインストールします。

    # APT 構成パッケージをダウンロードします。
    sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
    # dpkg コマンドを実行して、ダウンロードした MySQL APT 構成パッケージをインストールします。
    sudo dpkg -i mysql-apt-config_0.8.33-1_all.deb
    1. オプション。 mysql-apt-config スクリプトが、オペレーティングシステムのバージョンが公式にサポートされていないことを検出した場合、インストールを続行するために最も近いサポートされているバージョンを選択するように求められます。

      説明

      システムエイリアスの取得方法については、「Ubuntu または Debian インスタンスのシステムエイリアスを取得するにはどうすればよいですか?」をご参照ください。

      image

    2. 構成ページには、MySQL サーバー、MySQL クライアント、必要なツールなど、インストールする必要があるすべてのコンポーネントが表示されます。インストールするバージョンとコンポーネントを確認し、下矢印キーを押して OK を選択し、Enter キーを押します。image

  4. MySQL サーバーをインストールします。

    重要

    インストール中に、MySQL root ユーザーのパスワードを指定する際に、パスワードポリシーに従う必要があります。パスワードは 8 文字以上で、大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含める必要があります。パスワードを 2 回入力し、Enter キーを押します。imageimage

    # パッケージリストを更新します。
    sudo apt update
    # MySQL サーバーをインストールします。
    sudo apt install -y mysql-server
    # MySQL サービスを開始します。
    sudo systemctl start mysql
    # 起動ステータスを確認します。
    sudo systemctl status mysql
    # システム起動時に MySQL が自動的に起動するように構成します。
    sudo systemctl enable mysql
  5. 次のコマンドを実行して、MySQL セキュリティ設定を構成します。

    sudo mysql_secure_installation
    1. root パスワードを入力します。image

    2. VALIDATE PASSWORD コンポーネントを有効にするには、y を入力します。image

    3. 2 を入力します。パスワードは 8 文字以上で、大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含める必要があります。image

    4. ルートユーザーのパスワードの変更をスキップするには、n を入力します。

      説明

      root ユーザーのパスワードを変更するには、y を入力します。

      image

    5. 匿名ユーザーを削除するには、y を入力します。

      説明

      これにより、権限のないユーザーが有効な資格情報の入力手順をスキップして MySQL サーバーにアクセスすることを防ぎます。

      image

    6. root ユーザーが MySQL にアクセスできないようにするには、y を入力します。

      説明

      特定のシナリオで root ユーザーが MySQL サーバーに接続できるようにするには、y 以外のキーを押して、リモート root ユーザーのログインを許可します。

      image

    7. MySQL サーバーのプリインストール済み test データベースを削除するには、y を入力します。image

    8. 上記の変更を有効にするには、権限テーブルを再読み込みするために y を入力します。image

リモートアクセス用の MySQL ユーザーの追加

  1. ECS インスタンスに接続します。詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. デフォルトでは、MySQL はポート 3306 を使用します。インスタンスに関連付けられたセキュリティグループのインバウンドセキュリティルールでポート 3306 が開いていることを確認してください。別の MySQL ポートを使用する場合は、実際のポートに基づいてセキュリティグループ設定を変更します。詳細については、「セキュリティグループルールの追加」をご参照ください。

  3. 次のコマンドを実行して、ユーザーを作成し、そのユーザーにすべての MySQL データベースへのアクセス権を付与します。

    重要
    • <username> を、作成した MySQL ユーザーのユーザー名に置き換えます。

    • <password> を、MySQL ユーザーの作成に使用したパスワードに置き換えます。パスワードは 8 文字以上で、大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含める必要があります。

    # コマンドを実行した後、root ユーザーのパスワードを入力します。
    sudo mysql -uroot -p \
    -e "CREATE USER '<username>'@'%' IDENTIFIED BY '<password>';" \
    -e "GRANT ALL PRIVILEGES ON *.* TO '<username>'@'%' WITH GRANT OPTION;" \
    -e "FLUSH PRIVILEGES;"
  4. 次のコマンドを実行して、作成した MySQL ユーザーのユーザー名とパスワードを使用して MySQL に接続できるかどうかを確認します。

    # <username> を、作成したユーザーのユーザー名に置き換えます。コマンドを実行した後、新しいユーザーのパスワードを入力します。
    sudo mysql -u<username> -p

参照

MySQL デプロイメントに関する FAQ