Linux ECS インスタンスに手動で MySQL をインストールし、安全なアクセスを構成します。
前提条件
-
ECS インスタンスにはパブリック IP アドレスが自動的に割り当てられています。または、ECS インスタンスに関連付けられたエラスティック IP アドレス (EIP) が存在します。パブリック帯域幅を有効にする方法については、「パブリック帯域幅の有効化」をご参照ください。
-
セキュリティグループでポート 22 のインバウンドトラフィックが許可されています。「セキュリティグループルールの追加」をご参照ください。
MySQL のデプロイメント
Alibaba Cloud Linux 3
-
ECS インスタンスに接続します。「ワークベンチを使用した Linux インスタンスへのログイン」をご参照ください。
-
MySQL をインストールします。
# 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 -
一時的な root パスワードを取得します。
echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD) -
セキュアインストールスクリプトを実行します。
sudo mysql_secure_installation-
rootユーザーの一時パスワードを入力します。説明入力中はパスワードが表示されません。

-
rootユーザーの新しいパスワードを設定し、確認のために再入力します。重要パスワードは大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含み、8 文字以上である必要があります。

-
現在のパスワードを維持するには
nを入力します。
-
匿名ユーザーを削除するには
yを入力します。説明匿名ユーザーを削除することで、MySQL サーバーへの不正アクセスを防止できます。

-
リモートからの root ログインを禁止するには
yを入力します。説明リモートからの root ログインを許可するには、
Y以外の任意のキーを押してください。
-
testデータベースを削除するにはyを入力します。
-
権限テーブルを再読み込みして変更を適用するには
yを入力します。
-
Alibaba Cloud Linux 2
-
ECS インスタンスに接続します。「ワークベンチを使用した Linux インスタンスへのログイン」をご参照ください。
-
MySQL をインストールします。
# 公式 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 -
一時的な root パスワードを取得します。
echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD) -
セキュアインストールスクリプトを実行します。
sudo mysql_secure_installation-
rootユーザーの一時パスワードを入力します。説明入力中はパスワードが表示されません。

-
rootユーザーの新しいパスワードを設定し、確認のために再入力します。重要パスワードは大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含み、8 文字以上である必要があります。

-
現在のパスワードを維持するには
nを入力します。
-
匿名ユーザーを削除するには
yを入力します。説明匿名ユーザーを削除することで、MySQL サーバーへの不正アクセスを防止できます。

-
リモートからの root ログインを禁止するには
yを入力します。説明リモートからの root ログインを許可するには、
Y以外の任意のキーを押してください。
-
testデータベースを削除するにはyを入力します。
-
権限テーブルを再読み込みして変更を適用するには
yを入力します。
-
CentOS 8
-
ECS インスタンスに接続します。「ワークベンチを使用した Linux インスタンスへのログイン」をご参照ください。
-
MySQL をインストールします。
# 公式 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 -
セキュアインストールスクリプトを実行します。
sudo mysql_secure_installation-
VALIDATE PASSWORDコンポーネントを使用するにはyを入力します。
-
パスワード検証ポリシーを
STRONGに設定するには2を入力します。これにより、パスワードは大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含み、8 文字以上である必要があります。
-
rootユーザーの新しいパスワードを設定し、確認のために 2 回入力します。重要パスワードは選択した検証ポリシーの要件を満たす必要があります。

-
パスワードを確定するには
yを入力します。
-
匿名ユーザーを削除するには
yを入力します。説明匿名ユーザーを削除することで、MySQL サーバーへの不正アクセスを防止できます。

-
リモートからの root ログインを禁止するには
yを入力します。説明リモートからの root ログインを許可するには、
Y以外の任意のキーを押してください。
-
testデータベースを削除するにはyを入力します。
-
権限テーブルを再読み込みして変更を適用するには
yを入力します。
-
CentOS 7
-
ECS インスタンスに接続します。「ワークベンチを使用した Linux インスタンスへのログイン」をご参照ください。
-
MySQL をインストールします。
# 公式 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 -
一時的な root パスワードを取得します。
echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD) -
セキュアインストールスクリプトを実行します。
sudo mysql_secure_installation-
rootユーザーの一時パスワードを入力します。説明入力中はパスワードが表示されません。

-
rootユーザーの新しいパスワードを設定し、確認のために再入力します。重要パスワードは大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含み、8 文字以上である必要があります。

-
現在のパスワードを維持するには
nを入力します。
-
匿名ユーザーを削除するには
yを入力します。説明匿名ユーザーを削除することで、MySQL サーバーへの不正アクセスを防止できます。

-
リモートからの root ログインを禁止するには
yを入力します。説明リモートからの root ログインを許可するには、
Y以外の任意のキーを押してください。
-
testデータベースを削除するにはyを入力します。
-
権限テーブルを再読み込みして変更を適用するには
yを入力します。
-
Ubuntu または Debian
-
ECS インスタンスに接続します。「ワークベンチを使用した Linux インスタンスへのログイン」をご参照ください。
-
パッケージインデックスを更新します。
sudo apt-get update -
MySQL APT リポジトリをインストールします。
# APT 構成パッケージをダウンロードします。 sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb # ダウンロードした MySQL APT 構成パッケージをインストールするため、dpkg コマンドを実行します。 sudo dpkg -i mysql-apt-config_0.8.33-1_all.deb-
オプションです。
mysql-apt-configがサポートされていない OS バージョンを検出した場合、継続するために最も近いサポート対象バージョンを選択します。説明システムのコードネームを確認するには、「「Permission denied」起動エラーの修正」をご参照ください。

-
コンポーネントとバージョンを確認し、
Okに移動して Enter キーを押します。
-
-
MySQL サーバーをインストールします。
重要インストール中に、MySQL
rootユーザーのパスワードを設定します。パスワードは大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含み、8 文字以上である必要があります。

# パッケージリストを更新します。 sudo apt update # MySQL サーバーをインストールします。 sudo apt install -y mysql-server # MySQL サービスを起動します。 sudo systemctl start mysql # 起動ステータスを確認します。 sudo systemctl status mysql # システム起動時に MySQL が自動的に開始されるように構成します。 sudo systemctl enable mysql -
セキュアインストールスクリプトを実行します。
sudo mysql_secure_installation-
インストール時に設定した
rootパスワードを入力します。
-
VALIDATE PASSWORDコンポーネントを使用するにはyを入力します。
-
パスワード検証ポリシーを
STRONGに設定するには2を入力します。これにより、パスワードは大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含み、8 文字以上である必要があります。
-
rootパスワードの変更をスキップするには n を入力します。説明rootパスワードを変更するには、yを入力します。
-
匿名ユーザーを削除するには
yを入力します。説明匿名ユーザーを削除することで、MySQL サーバーへの不正アクセスを防止できます。

-
リモートからの root ログインを禁止するには
yを入力します。説明リモートからの root ログインを許可するには、
Y以外の任意のキーを押してください。
-
testデータベースを削除するにはyを入力します。
-
権限テーブルを再読み込みして変更を適用するには
yを入力します。
-
リモートアクセス用の MySQL ユーザーの追加
-
ECS インスタンスに接続します。「ワークベンチを使用した Linux インスタンスへのログイン」をご参照ください。
-
MySQL はデフォルトでポート 3306 をリッスンします。このポートのインバウンドトラフィックをセキュリティグループで許可していることを確認してください。カスタムポートを使用する場合は、それに応じてルールを調整します。「セキュリティグループルールの追加」をご参照ください。
-
任意のホストから接続可能なユーザーを作成し、すべてのデータベース権限を付与します。
重要-
<username>は新しいユーザー名に置き換えてください。 -
<password>はパスワードに置き換えてください。パスワードは大文字、小文字、数字、特殊文字をそれぞれ 1 文字以上含み、8 文字以上である必要があります。
# コマンド実行後、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;" -
-
新規ユーザーの認証情報で接続を確認します。
# <username> は作成したユーザーのユーザー名に置き換えてください。コマンド実行後、新規ユーザーのパスワードを入力します。 sudo mysql -u<username> -p