AWS AMI에서 mysql 데이터베이스를 복원하시겠습니까?

AWS AMI에서 mysql 데이터베이스를 복원하시겠습니까?

mysql 데이터베이스 서버를 실행하는 EC2 인스턴스가 있습니다.

보안 사고로 인해 데이터베이스가 일종의 암호화로 인해 완전히 엉망이 되었기 때문에 현재 EC2 인스턴스를 삭제해야 했습니다.

따라서 6시간마다 생성되는 스냅샷/AMI에서 이를 복원해야 합니다. 지난 1개월 동안 이 EC2 인스턴스에 사용할 수 있는 스냅샷과 AMI가 있습니다.

이 EC2 인스턴스에는 스냅샷/AMI의 일부인 SSD(영구 블록 스토리지) EBS 볼륨이 하나만 있습니다.

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 다시 시작

관련 정보