반응형
현재 상황 요약
mysql -u root -p
위 명령에서 패스워드 입력 없이 접속되는 상황
root 계정이 unix_socket 인증 플러그인을 사용하고 있기 때문이며
보안적으로 안전하며, root 권한 사용자만 접속할 수 있게 되어 있습니다.
해결 방법: root 계정에 비밀번호 설정하고 mysql_native_password로 전환
MariaDB 접속
SELECT user, host, plugin FROM mysql.user; // 현재 인증 플러그인 확인
결과에서 root 사용자의 plugin이 unix_socket일 것입니다.
비밀번호 설정하고 인증 플러그인 변경
비빌번호 변경
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '원하는비밀번호';
ALTER USER 'root'@'localhost' IDENTIFIED BY '원하는강력한비밀번호';
FLUSH PRIVILEGES;
최종 확인
SELECT user, host, plugin FROM mysql.user WHERE user = 'root';
plugin이 mysql_native_password로 바뀌었는지 확인
mysql -u root -p
명령 후에 비밀번호를 입력해야 로그인됩니다.
보안 주의
1. mysql_native_password로 변경하면 sudo 없이 누구나 비밀번호만 알면 root 접속이 가능하기에
반드시 강력한 비밀번호를 설정 필요
2. 운영 서버에서는 root 대신 별도의 관리자 계정을 만들어 사용하는 것이 보안상 더 안전
3. 필요하시면 관리자 계정 추가, 또는 phpMyAdmin 접속 설정 필
요
반응형
'SW > Mysql' 카테고리의 다른 글
mysqld 계정 생성및 권한 ( MYSQL, MariaDB) (0) | 2021.10.26 |
---|---|
사이트 DB Dump (0) | 2021.10.15 |
사이트 DB Dump (0) | 2021.10.15 |
댓글