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