본문 바로가기

리눅스

MySQL 8.4에서 root 사용자의 원격 접속을 허용하는 방법

반응형

MySQL 8.4에서 root 사용자의 원격 접속을 허용하는 방법

MySQL 8.0 이후 보안 정책이 강화되어 root 원격 접속이 기본적으로 비활성화되어 있습니다.

root 계정의 인증 방식 확인

MySQL 8.x에서는 root가 보통 auth_socket 또는 caching_sha2_password로 설정됨

SELECT user, host, plugin FROM mysql.user WHERE user='root';
+------+-----------+-----------------------+
| user | host      | plugin                |
+------+-----------+-----------------------+
| root | %         | caching_sha2_password |
| root | localhost | caching_sha2_password |
+------+-----------+-----------------------+
2 rows in set (0.00 sec)

root 계정의 원격 접속 허용

root 계정의 host 를 '%' 로 변경해 원격 허용

ALTER USER 'root'@'%' IDENTIFIED WITH caching_sha2_password BY 'StrongPassword!2025';
FLUSH PRIVILEGES;

안전한 권장 방식

  • root 원격은 허용하지 않고 관리용 별도 계정(admin) 생성
CREATE USER 'admin'@'%' IDENTIFIED BY 'StrongPassword!2025';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
admin 계정의 인증 방식 확인
SELECT user, host, plugin FROM mysql.user WHERE user='admin';
+-------+------+-----------------------+
| user  | host | plugin                |
+-------+------+-----------------------+
| admin | %    | caching_sha2_password |
+-------+------+-----------------------+

원격 접속 테스트

mysql -h <mysql서버IP> -u root -p

 

728x90
반응형