AWS AMIからmysqlデータベースを復元しますか?

AWS AMIからmysqlデータベースを復元しますか?

mysqlデータベースサーバーを実行するEC2インスタンスがあります。

セキュリティ上の問題により、データベースが暗号化の種類によって完全に混乱していたため、現在EC2インスタンスを削除する必要がありました。

したがって、6時間ごとに作成されたスナップショット/ AMIから復元する必要があります。過去1ヶ月間、このEC2インスタンスに使用できるスナップショットとAMIがあります。

このEC2インスタンスには、スナップショット/ AMIの一部である永続ブロックストレージ(SSD)EBSボリュームが1つしかありません。

phpmyadminもインストールしましたが、明らかな理由でデータベースに接続できません!

以下は、オペレーティングシステムとmysqlサービスの状態の詳細です。

#猫/背中/解放する

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.1 LTS"
NAME="Ubuntu"
VERSION="20.04.1 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.1 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

#mysqld --version

/usr/sbin/mysqld  Ver 8.0.22-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))

#systemctl 状態 mysql.service

● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: activating (start) since Mon 2021-03-01 13:19:50 UTC; 241ms ago
    Process: 79728 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
   Main PID: 79736 (mysqld)
     Status: "Server startup in progress"
      Tasks: 1 (limit: 1164)
     Memory: 91.3M
     CGroup: /system.slice/mysql.service
             └─79736 /usr/sbin/mysqld

Mar 01 13:19:50 ip-172-31-93-250 systemd[1]: Starting MySQL Community Server...
Mar 01 13:19:52 ip-172-31-93-250 systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
Mar 01 13:19:52 ip-172-31-93-250 systemd[1]: mysql.service: Failed with result 'exit-code'.
Mar 01 13:19:52 ip-172-31-93-250 systemd[1]: Failed to start MySQL Community Server.
Mar 01 13:19:53 ip-172-31-93-250 systemd[1]: mysql.service: Scheduled restart job, restart counter is at 328.
Mar 01 13:19:53 ip-172-31-93-250 systemd[1]: Stopped MySQL Community Server.
Mar 01 13:19:53 ip-172-31-93-250 systemd[1]: Starting MySQL Community Server...

#journalctl-xe

Mar 01 13:14:20 ip-XXX-XXX-XXX-XXX systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- An ExecStart= process belonging to unit mysql.service has exited.
--
-- The process' exit code is 'exited' and its exit status is 1.
Mar 01 13:14:20 ip-XXX-XXX-XXX-XXX systemd[1]: mysql.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- The unit mysql.service has entered the 'failed' state with result 'exit-code'.
Mar 01 13:14:20 ip-XXX-XXX-XXX-XXX systemd[1]: Failed to start MySQL Community Server.
-- Subject: A start job for unit mysql.service has failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- A start job for unit mysql.service has finished with a failure.
--
-- The job identifier is 105083 and the job result is failed.
Mar 01 13:14:21 ip-XXX-XXX-XXX-XXX systemd[1]: mysql.service: Scheduled restart job, restart counter is at 206.
-- Subject: Automatic restarting of a unit has been scheduled
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Automatic restarting of the unit mysql.service has been scheduled, as the result for
-- the configured Restart= setting for the unit.
Mar 01 13:14:21 ip-XXX-XXX-XXX-XXX systemd[1]: Stopped MySQL Community Server.
-- Subject: A stop job for unit mysql.service has finished
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- A stop job for unit mysql.service has finished.
--
-- The job identifier is 105149 and the job result is done.
Mar 01 13:14:21 ip-XXX-XXX-XXX-XXX systemd[1]: Starting MySQL Community Server...
-- Subject: A start job for unit mysql.service has begun execution
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- A start job for unit mysql.service has begun execution.
--
-- The job identifier is 105149.

追加ログ出力の場合"#tail -500 /var/log/mysql/error.log"

mysqlサービスのデータベース/データベースを復元するのに役立つ人はいますか?

この状況では、データベースを回復する正しい手順が何であるかよくわかりません。

よろしくお願いします!

答え1

この問題を解決するには、次の手順を実行します。

ただ編集してください/etc/mysql/mysql.conf.d/mysqld.cnfお気に入りのエディタを使用してファイルを作成し、お気に入りのエディタを使用してバインディングアドレスを更新します。以下は、正しい/更新されたIPアドレスに更新する必要がある行です。バックアップAMIイメージまたはスナップショットを使用して新しいEC2インスタンスを起動すると、新しいプライベートIPアドレスが取得されます(以前はオペレーティングシステムの設定で静的に設定されていない場合)。

バインディングアドレス = 192.168.XXX.XXX

その後、次のコマンドを使用してmysqlサービスを再起動すると、PHP My Adminコンソールを含むすべてが以前と同じように機能し始めます。

systemctl mysql.serviceの再起動

関連情報