Cloud/AWS

AWS EC2 MariaDB 비밀번호 변경 (DB 해킹 대비) - 2

Sean-creative 2022. 9. 11. 16:47
보안을 위해 MariaDB 비밀 번호를 변경해봅시다!

 

$ sudo systemctl stop mariadb
$ sudo systemctl stop mysql

- 일단, MariaDB를 종료시켜야 한다. 

 

 

$ sudo mysqld_safe --skip-grant-tables &

-이후에 mysql을 안전모드로 시작해야 한다 -> 비밀번호를 사용하지 않고 접속하기 위해서

(뒤에 & 문자를 붙이는 이유 -> 프로세스를 백그라운드에서 mysql이 동작하게 하는 리눅스 명령어)

 

 

$ mysql -u root

- 실행했으면, root 계정으로 실행시켜주자.

 

 

MariaDB가 정상적으로 실행되면 안전모드 진입 성공

$ mysql > SET PASSWORD FOR 'root'@'localhost' = PASSWORD('PASSWORD');

- 계정 초기화

 

The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement

$ mysql > flush privileges;
$ mysql > SET PASSWORD FOR 'root'@'localhost' = PASSWORD('PASSWORD');
$ mysql > flush privileges;

- 혹시, 다음과 오류가 발생하면, 밑의 명령어를 실행한 뒤 다시 비밀번호를 설정

 

이제 비밀번호 재설정이 완료되었다. 백그라운드에서 실행중인 mysqld_safe를 종료시키고, MariaDB를 재시작 하면 정상적으로 내가 설정한 비밀번호를 통해 로그인 할 수 있다.
간혹, SET PASSWORD~ 질의문으로 비밀번호 변경이 안된다면 -> 다음 명령어로 실행

$ mysql > ALTER USER 'root'@'localhost' IDENTIFIED BY 'PASSWORD';

 

 

 

만약 위의 방법대로 했는데도 비밀번호가 리셋이 안되거나, 문제가 생기면
아래의 방법으로 재설치 해주세요.

 

저는 MariaDB 환경을 잘못 수정하다가 재설치 했습니다..

apt 업그래이드
sudo apt update  <!-- 설치 되어있는 패키지들의 새로운 버젼이 있는지 확인할 때 해당 명령어 -->
sudo apt upgrade <!-- apt update를 통해서 확인한 패키지들의 최신 버전에 따라서 패키지들의 버전을 업그레이드 해주는 명령어 -->

 

 

$ sudo apt-get remove --purge mariadb-server mariadb-client 
$ sudo apt-get autoremove
$ sudo apt-get autoclean
$ sudo apt-get install mariadb-server mariadb-client
$ sudo reboot  #꼭 REBOOT을 해줍니다.

참고) https://mariadb.com/kb/en/mariadb-installation-dependancy-problems-and-failed-to-start-service/ 

 

MariaDB installation - dependancy problems and failed to start service

Debian 8. Moving from MySql to MariaDB. Have tried the following and iterations of it. sudo apt-get install software-properties-common sudo apt-key adv --recv-keys --keyserver...

mariadb.com

 

그 다음 부터는, SpringBoot+MariaDB+EC2 Ubuntu AWS 배포하기! - (3) 에 나와있는 내용을 참고 하시면 됩니다. -> 비밀번호 설정 외 다른 환경 잡기

참고) SpringBoot+MariaDB+EC2 Ubuntu AWS 배포하기! - (3)

 

 

- 비밀번호 설정 하실 때는, 특수문자도 넣고 어렵게 해주세요!!

$ sudo mysql -u root -p  //password는 엔터 
$ grant all privileges on *.* to 'root'@'localhost' identified by '설정할 비밀번호' with grant option;
//sudo없이 mysql 로그인 가능