Computer >> 컴퓨터 >  >> 문제 해결 >> Mac

Mac에서 MySQL 루트 비밀번호 설정 및 재설정하는 방법 완벽 가이드

MySQL에 처음 설치한 후 루트(root) 비밀번호를 따로 지정하지 않으면, 서버는 비밀번호 없이도 루트 계정으로 접속할 수 있습니다. 하지만 이는 보안상 매우 위험한 상태이므로 반드시 루트 비밀번호를 설정하는 것이 좋습니다.

처음으로 MySQL 루트 비밀번호를 설정하는 방법은 크게 두 가지가 있습니다.

1. mysql_secure_installation 명령어 사용

이 명령어는 기존 루트 비밀번호와 새 비밀번호를 입력하도록 안내할 뿐만 아니라, 테스트 데이터베이스 비활성화 등 추가적인 보안 설정까지 함께 진행해 줍니다.

실행 방법

터미널(Terminal)을 실행하고 아래 명령어를 입력합니다.

mysql_secure_installation

명령어 실행 후 나타나는 질문들에 다음과 같이 답변합니다.

  • Change the root password? [Y/n] → y
  • New password: → 새로운 MySQL 루트 비밀번호 입력
  • Re-enter new password: → 비밀번호 다시 한 번 입력
  • Remove anonymous users? [Y/n] → y
  • Disallow root login remotely? [Y/n] → y
  • Remove test database and access to it? [Y/n] → y
  • Reload privilege tables now? [Y/n] → y

참고: 이 과정에서 가장 흔히 발생하는 오류의 원인은 비밀번호가 비어 있는 경우입니다. MySQL 데이터베이스에 접속할 때는 반드시 루트 비밀번호를 지정해야 합니다.

mysqladmin -u root -pROOT-PASSWORD

2. mysqladmin 명령어 사용

셸 프롬프트에서 mysqladmin 명령어를 사용하여 비밀번호를 설정할 수도 있습니다.

  • 터미널을 열고 다음 명령어를 입력합니다.
    mysqladmin -u root password newpass
  • 비밀번호를 입력합니다.

만약 아래와 같은 오류 메시지가 출력된다면,

mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'

비밀번호 복구 절차를 진행해야 합니다. 아래에서 자세히 설명합니다.

주의: 위 명령어에서 'password'라는 단어는 명령어 문법의 일부입니다. 실제 비밀번호로 바꾸지 말고, 새 비밀번호는 'newpass' 자리에 입력하세요.

MySQL 루트 비밀번호를 잊어버렸을 때 재설정하기

Mac에 MySQL을 설치하고 루트 사용자 비밀번호를 설정한 지 오래되었다면, 시간이 지나면서 비밀번호를 쉽게 잊어버릴 수 있습니다. 걱정하지 마세요. MySQL 루트 비밀번호를 잊어버렸거나 기억나지 않더라도, 현재 사용 중인 컴퓨터의 관리자 권한만 있다면 명령줄에서 간단하게 비밀번호를 재설정할 수 있습니다.

비밀번호 재설정 자체는 어렵지 않지만, 사용 중인 MySQL 버전에 따라 절차가 조금씩 다릅니다.

1단계: MySQL 서버 중지

시스템 환경설정(System Preferences)으로 이동하여 MySQL을 선택한 후, Stop MySQL Server 버튼을 클릭합니다.

팁: 터미널을 통해서도 MySQL 서버를 중지할 수 있습니다. 터미널에 다음 명령어를 입력하세요.

service mysql stop

그러면 서버가 중지되었다는 메시지가 출력됩니다.

2단계: 권한 우회 모드(안전 모드)로 서버 시작

터미널에 다음 명령어를 입력하여 권한 검증을 건너뛰는 안전 모드로 서버를 시작합니다.

sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables

3단계: MySQL 클라이언트로 서버에 접속

새 터미널 창을 열고 아래 명령어를 입력합니다. (반드시 한 줄씩 순서대로 입력하세요.)

mysql -u root

4단계: 새로운 루트 비밀번호 설정

사용 중인 MySQL 버전에 따라 입력해야 하는 명령어가 다릅니다.

  • MySQL 5.7.5 이하 버전: 구버전용 명령어를 사용합니다.
  • MySQL 5.7.6 이상 버전: 신규 인증 방식에 맞는 명령어를 사용합니다.

5단계: MySQL 서버 종료

다음 명령어로 MySQL 프로세스를 모두 종료합니다.

killall mysqld

6단계: MySQL 서버 재시작 및 테스트

마지막으로 MySQL 서버를 다시 시작한 뒤, 새 비밀번호로 정상적으로 로그인되는지 확인합니다.

핵심 정리

MySQL은 비밀번호 없이도 사용할 수 있지만, 보안상의 이유로 루트 비밀번호를 설정하는 것이 좋습니다. 만약 비밀번호를 잊어버렸더라도 Mac에서 MySQL 루트 비밀번호를 복구하는 것은 그리 어렵지 않습니다. 위 가이드의 단계를 차례대로 따라 하면 누구나 쉽게 해결할 수 있습니다.