2022-07-12 22:38:34

mysql의 root 계정의 경우 기본적으로 비밀번호(password)가 설정되어 있지 않기 때문에 mysql -uroot -p를 터미널에 입력한 후에 그냥 엔터를 치면 mysql 서버에 접속됩니다. 따라서, 비밀번호를 설정해줘야 합니다. 

 

MySQL root 계정 패스워드 변경 방법

1. mysql 데이터베이스에 접근합니다.

USE mysql;

 

2. mysql 데이터베이스 안에 있는 user 테이블의 내용을 확인합니다. 

SELECT * FROM user;

 

3. user 테이블의 User 컬럼에 root가 들어가 있는 행의 authentication_string을 수정해야 합니다. 이 컬럼이 비밀번호 정보를 담기 위한 컬럼입니다. password 함수를 이용해서 비밀번호를 암호처리합니다. 

UPDATE user SET authentication_string = password('비밀번호') WHERE User = 'root';

 

4. 또한 user 테이블의 User 컬럼에 root가 들어가 있는 행의 plugin을 mysql_native_password로 변경해야 합니다. plugin이 auth_socket으로 설정되어 있었을 것입니다. 변경하지 않으면 여전히 비밀번호를 제대로 입력하지 않고도 접속이 가능합니다. 

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

 

5. 수정한 내용들이 바로 적용되도록 다음 명령을 입력합니다. 

FLUSH PRIVILEGES;

 

6. 설정한 비밀번호로 mysql 서버에 접속이 잘 되는지 mysql 서버에서 나갔다가 root 계정으로 접속을 시도해봅니다.

 

참고로 이 포스팅에 사용된 MySQL 서버의 버전은 5.7.38-0ubuntu0.18.04.1입니다.

SELECT version();

 

 

관련 글

- [MariaDB] root 계정 패스워드 변경하는 방법  

- MySQL Workbench에서 DB 서버 버전 확인하는 방법