본문으로 바로가기

MySQL의 root 비밀번호 변경하기

category Database/MySQL 2019. 7. 3. 13:06

공부한 내용을 기록하고 있습니다.


MySQL을 설치하고 발급 받은 임시 비밀번호로 로그인하려고 하였으나 비밀번호가 잘못되었는지 승인이 되지 않았습니다. 그래서 root의 비밀번호를 변경하였으며 그 방법을 정리해두려고 합니다. 

ㄴ 임시 비밀번호를 발급 받았으나 알맞지 않음

root 비밀번호 변경하기

Step 1. 실행중인 MySQL을 정지합니다.

ㄴ mysql 정지하기

Step 2. 터미널에서 다음의 명령어로, 안전 모드로 MySQL 서버를 실행합니다.

무언가를 입력할 수 없는 상태에서 터미널의 화면이 변경됩니다. 그러면 command + t으로 새로운 터미널을 열어서 MySQL에 비밀 번호 없이 들어갑니다.

1
2
3
4
5
6
7
# 권한을 우회하여 안전 모드로 mysql 서버 실행
sudo mysqld_safe --skip-grant-tables
 
# 새로운 터미널 열기 (command + t)
# mysql에 비밀번호 없이 들어가기
mysql -u root
 
cs

Step 3. root에 새로운 비밀번호를 부여합니다.

1
2
3
4
5
6
#MySQL older than MySQL 5.7
UPDATE mysql.user SET Password=PASSWORD('newrootpassword') WHERE User='root';
 
 
# For MySQL 5.7+
UPDATE mysql.user SET authentication_string=PASSWORD("newrootpassword") WHERE User='root';
cs

Step 4. 권한을 flush 해준다.

1
FLUSH PRIVILEGES;
cs

이제 터미널을 종료하고 다시 로그인하면 변경된 비밀번호로 MySQL에 들어가실 수 있습니다.

++ 추가

만약에 아래와 같은 경고문이 뜰 경우에는 다음과 같이 password가 무엇인지 다시한번 알려주면 된다. 

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

1
SET PASSWORD = PASSWORD('yourpassword');
cs

참고

Reset MySQL Root Password in Mac Os