このトピックでは、Linux を実行する Elastic Compute Service(ECS)インスタンスに特定のバージョンの MySQL データベースを手動でデプロイする方法について説明します。
前提条件
パブリック IP アドレスは ECS インスタンスに自動的に割り当てられます。または、Elastic IP アドレス(EIP)が ECS インスタンスに関連付けられています。パブリック帯域幅を有効にする方法については、「パブリック帯域幅を有効にする」をご参照ください。
インバウンドルールは、ECS インスタンスに関連付けられたセキュリティグループに追加され、ポート 22 を開きます。セキュリティグループルールの追加方法については、「セキュリティグループルールの追加」をご参照ください。
MySQL のデプロイ
Alibaba Cloud Linux 3
ECS インスタンスに接続します。詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。
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
ルートユーザーのデフォルトの初期パスワードをクエリします。
echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD)
次のコマンドを実行して、MySQL セキュリティ設定を構成します。
sudo mysql_secure_installation
root
ユーザーの初期パスワードを入力します。説明パスワードを入力すると、パスワード文字は非表示になります。入力したパスワードが正しいことを確認してください。
ルートパスワードの期限切れを示すエラーメッセージが表示された場合は、
root
ユーザーの新しいパスワードを 2 回入力して指定します。重要パスワードは 8 文字以上で、大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含める必要があります。
root
パスワードを変更した後、n を入力して新しいパスワードの再指定をスキップします。匿名ユーザーを削除するには、y を入力します。
説明これにより、権限のないユーザーが有効な資格情報の入力手順をスキップして MySQL サーバーにアクセスすることを防ぎます。
root
ユーザーが MySQL にアクセスできないようにするには、y を入力します。説明特定のシナリオで
root
ユーザーが MySQL サーバーに接続できるようにするには、y
以外のキーを押して、リモート root ユーザーのログインを許可します。MySQL サーバーのプリインストール済み
test
データベースを削除するには、y を入力します。上記の変更を有効にするには、権限テーブルを再読み込みするために y を入力します。
Alibaba Cloud Linux 2
ECS インスタンスに接続します。詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。
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
ルートユーザーのデフォルトの初期パスワードをクエリします。
echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD)
次のコマンドを実行して、MySQL セキュリティ設定を構成します。
sudo mysql_secure_installation
root
ユーザーの初期パスワードを入力します。説明パスワードを入力すると、パスワード文字は非表示になります。入力したパスワードが正しいことを確認してください。
ルートパスワードの期限切れを示すエラーメッセージが表示された場合は、
root
ユーザーの新しいパスワードを 2 回入力して指定します。重要パスワードは 8 文字以上で、大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含める必要があります。
root
パスワードを変更した後、n を入力して新しいパスワードの再指定をスキップします。匿名ユーザーを削除するには、y を入力します。
説明これにより、権限のないユーザーが有効な資格情報の入力手順をスキップして MySQL サーバーにアクセスすることを防ぎます。
root
ユーザーが MySQL にアクセスできないようにするには、y を入力します。説明特定のシナリオで
root
ユーザーが MySQL サーバーに接続できるようにするには、y
以外のキーを押して、リモート root ユーザーのログインを許可します。MySQL サーバーのプリインストール済み
test
データベースを削除するには、y を入力します。上記の変更を有効にするには、権限テーブルを再読み込みするために y を入力します。
CentOS 8
ECS インスタンスに接続します。詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。
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
次のコマンドを実行して、MySQL セキュリティ設定を構成します。
sudo mysql_secure_installation
VALIDATE PASSWORD
コンポーネントを有効にするには、y を入力します。2 を入力します。パスワードは 8 文字以上で、大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含める必要があります。
root
ユーザーの新しいパスワードを指定するには、新しいパスワードを 2 回入力します。重要パスワードは 8 文字以上で、大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含める必要があります。
指定されたパスワードを引き続き使用するには、y を入力します。
匿名ユーザーを削除するには、y を入力します。
説明これにより、権限のないユーザーが有効な資格情報の入力手順をスキップして MySQL サーバーにアクセスすることを防ぎます。
root
ユーザーが MySQL にアクセスできないようにするには、y を入力します。説明特定のシナリオで
root
ユーザーが MySQL サーバーに接続できるようにするには、y
以外のキーを押して、リモート root ユーザーのログインを許可します。MySQL サーバーのプリインストール済み
test
データベースを削除するには、y を入力します。上記の変更を有効にするには、権限テーブルを再読み込みするために y を入力します。
CentOS 7
ECS インスタンスに接続します。詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。
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
ルートユーザーのデフォルトの初期パスワードをクエリします。
echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD)
次のコマンドを実行して、MySQL セキュリティ設定を構成します。
sudo mysql_secure_installation
root
ユーザーの初期パスワードを入力します。説明パスワードを入力すると、パスワード文字は非表示になります。入力したパスワードが正しいことを確認してください。
ルートパスワードの期限切れを示すエラーメッセージが表示された場合は、
root
ユーザーの新しいパスワードを 2 回入力して指定します。重要パスワードは 8 文字以上で、大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含める必要があります。
root
パスワードを変更した後、n を入力して新しいパスワードの再指定をスキップします。匿名ユーザーを削除するには、y を入力します。
説明これにより、権限のないユーザーが有効な資格情報の入力手順をスキップして MySQL サーバーにアクセスすることを防ぎます。
root
ユーザーが MySQL にアクセスできないようにするには、y を入力します。説明特定のシナリオで
root
ユーザーが MySQL サーバーに接続できるようにするには、y
以外のキーを押して、リモート root ユーザーのログインを許可します。MySQL サーバーのプリインストール済み
test
データベースを削除するには、y を入力します。上記の変更を有効にするには、権限テーブルを再読み込みするために y を入力します。
Ubuntu または Debian
ECS インスタンスに接続します。詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。
次のコマンドを実行して、システムの Advanced Packaging Tool(APT)リポジトリを更新し、システムパッケージリストが更新されていることを確認します。
sudo apt-get update
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
オプション。 mysql-apt-config スクリプトが、オペレーティングシステムのバージョンが公式にサポートされていないことを検出した場合、インストールを続行するために最も近いサポートされているバージョンを選択するように求められます。
説明システムエイリアスの取得方法については、「Ubuntu または Debian インスタンスのシステムエイリアスを取得するにはどうすればよいですか?」をご参照ください。
構成ページには、MySQL サーバー、MySQL クライアント、必要なツールなど、インストールする必要があるすべてのコンポーネントが表示されます。インストールするバージョンとコンポーネントを確認し、下矢印キーを押して
OK
を選択し、Enter キーを押します。
MySQL サーバーをインストールします。
重要インストール中に、MySQL
root
ユーザーのパスワードを指定する際に、パスワードポリシーに従う必要があります。パスワードは 8 文字以上で、大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含める必要があります。パスワードを 2 回入力し、Enter キーを押します。# パッケージリストを更新します。 sudo apt update # MySQL サーバーをインストールします。 sudo apt install -y mysql-server # MySQL サービスを開始します。 sudo systemctl start mysql # 起動ステータスを確認します。 sudo systemctl status mysql # システム起動時に MySQL が自動的に起動するように構成します。 sudo systemctl enable mysql
次のコマンドを実行して、MySQL セキュリティ設定を構成します。
sudo mysql_secure_installation
root
パスワードを入力します。VALIDATE PASSWORD
コンポーネントを有効にするには、y を入力します。2 を入力します。パスワードは 8 文字以上で、大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含める必要があります。
ルートユーザーのパスワードの変更をスキップするには、n を入力します。
説明root
ユーザーのパスワードを変更するには、y
を入力します。匿名ユーザーを削除するには、y を入力します。
説明これにより、権限のないユーザーが有効な資格情報の入力手順をスキップして MySQL サーバーにアクセスすることを防ぎます。
root
ユーザーが MySQL にアクセスできないようにするには、y を入力します。説明特定のシナリオで
root
ユーザーが MySQL サーバーに接続できるようにするには、y
以外のキーを押して、リモート root ユーザーのログインを許可します。MySQL サーバーのプリインストール済み
test
データベースを削除するには、y を入力します。上記の変更を有効にするには、権限テーブルを再読み込みするために y を入力します。
リモートアクセス用の MySQL ユーザーの追加
ECS インスタンスに接続します。詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。
デフォルトでは、MySQL はポート 3306 を使用します。インスタンスに関連付けられたセキュリティグループのインバウンドセキュリティルールでポート 3306 が開いていることを確認してください。別の MySQL ポートを使用する場合は、実際のポートに基づいてセキュリティグループ設定を変更します。詳細については、「セキュリティグループルールの追加」をご参照ください。
次のコマンドを実行して、ユーザーを作成し、そのユーザーにすべての 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;"
次のコマンドを実行して、作成した MySQL ユーザーのユーザー名とパスワードを使用して MySQL に接続できるかどうかを確認します。
# <username> を、作成したユーザーのユーザー名に置き換えます。コマンドを実行した後、新しいユーザーのパスワードを入力します。 sudo mysql -u<username> -p