Almon Dev

MySQL root 비밀번호 설정 본문

오류&시행착오/설정

MySQL root 비밀번호 설정

Almon 2025. 3. 18. 17:20

MySQL root 비밀번호를 설정

MySQL을 설치한 후 비밀번호를 설정하지 않으면 root 계정의 비밀번호가 비어있기 때문에 따로 설정이 필요합니다.

 

root 비밀번호를 설정해야 하는 이유

root 비밀번호가 설정되어 있지 않은 경우 MySQL에 접속할 수 있다면,

누구나 root 계정으로 DB에 접속해 모든 정보를 열람할 수 있으므로 보안에 큰 위험이 됩니다.
특히 MySQL이 원격 접속이 가능하게 설정된 경우,

외부에서 접속해 중요 정보를 탈취할 수 있으므로 반드시 비밀번호를 설정해야 합니다.

 

root 비밀번호 변경

아래의 순서를 따라 변경하시면 됩니다.

 

 1. mysql 접속

sudo mysql -u root -p

비밀번호를 설정하기 위해 mysql에 root 계정으로 접속합니다.

 

 

 2. 현재 비밀번호 설정 확인

use mysql;
select host,user,authentication_string from user;

mysql DB의 user 테이블에서 접속 가능한 호스트, 아이디, 비밀번호 해시를 확인합니다.

root가 비어있는 것이 보입니다.

 

 

 3. root 비밀번호 변경

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '비밀번호';
FLUSH PRIVILEGES;

저는 흔한 비밀번호인 admin1234를 설정했습니다.

FLUSH PRIVILEGES를 쓰는 이유
비밀번호만 변경하는 경우 FLUSH PRIVILEGES를 해주지 않아도 자동으로 설정을 갱신합니다.
하지만 사용자 계정의 권한을 변경한다던가, 사용자를 추가, 제거하는 경우
 FLUSH PRIVILEGES를 이용해 변경 사항을 갱신하도록 합니다.

caching_sha2_password
MySQL의 최신 버전에서는  SHA1 알고리즘을 사용하는 mysql_native_password 인증 플러그인 대신 SHA-256 알고리즘을 사용하는 caching_sha2_password 플러그인으로 변경되었습니다. 

 

 4. MySQL 재시작 후 확인

sudo systemctl restart mysql
sudo mysql -u root -p

MySQL 서비스를 재시작 한 뒤, 다시 root 계정에 접속하여 비밀번호가 변경됐는지 확인합니다.

'오류&시행착오 > 설정' 카테고리의 다른 글

Request Logger 구현하기  (0) 2024.12.22
PHP 에러 설정  (0) 2024.10.24
APM 환경에서 PHP가 다운로드 되는 상황  (3) 2024.10.19