버전별 MySQL 루트 비밀번호 변경 방법 5.6&5.7 이상

서버의 MySQL 루트 비밀번호 변경 시 MySQL 버전에 따라 변경 방식이 다를 수 있습니다. 버전별 MySQL 루트 비밀번호 변경 방법에 대해 알아 보겠습니다.

✅ 버전별 MySQL 루트 비밀번호 변경 (버전별)

기본 접속을 진행한 후에 각각의 버전에 맞는 쿼리문으로 mysql 루트 비밀번호를 변경해 줍니다.

#mysql 접속
~# mysql -u root -p
> 패스워드가 설정되어 있지 않은 경우 -p 옵션 사용 없이 바로 접슥해서 변경이 가능합니다. 

MySQL 5.6 이하 버전

처음 설치 후 비밀번호가 설정되어 있지 않다면 ‘mysql -u root’로 바로 접속이 가능합니다.

~#] mysql -u root
# 계정 정보 조회하기 
mysql> select host, user, password from mysql.user;
select host, user, password from mysql.user;
+-------------------------------------------------+-------------+-------------------------------------------+
| Host                                            | User        | Password                                  |
+-------------------------------------------------+-------------+-------------------------------------------+
| localhost                                       | mariadb.sys |                                           |
| localhost                                       | root        | invalid                                   |
| localhost                                       | mysql       | invalid                                   |
|                                                 | PUBLIC      |                                           |
| localhost                                       |             |                                           |
| ip-172-31-11-71.ap-northeast-2.compute.internal |             |                                           |
| %                                               | root        | *C29896FD8FE281F13DDF5EE340BCF0EB6134CA5D |
+-------------------------------------------------+-------------+-------------------------------------------+
# 패스워드 설정 or 변경
set password = password('root패스워드');
Query OK, 0 rows affected (0.001 sec)

### 두가지 중 하나로 진행
set password for 'root'@'localhost' = PASSWORD('root패스워드');

update mysql.user set password=password('root패스워드') where user='root' and Host='localhost';


# 변경된 내역 다시 확인 
mysql> select host, user, password from mysql.user;
+-------------------------------------------------+-------------+-------------------------------------------+
| Host                                            | User        | Password                                  |
+-------------------------------------------------+-------------+-------------------------------------------+
| localhost                                       | mariadb.sys |                                           |
| localhost                                       | root        | *C29896FD8FE281F13DDF5EE340BCF0EB6134CA5D |
| localhost                                       | mysql       | invalid                                   |
|                                                 | PUBLIC      |                                           |
| localhost                                       |             |                                           |
| ip-172-31-11-71.ap-northeast-2.compute.internal |             |                                           |
| %                                               | root        | *C29896FD8FE281F13DDF5EE340BCF0EB6134CA5D |
+-------------------------------------------------+-------------+-------------------------------------------+
7 rows in set (0.001 sec)
  • 기본 패스워드 등록 및 변경
mysql> update mysql.user set password = password('패스워드') where user = 'root';

MySQL 5.7 이상 MySQL 8.x & MariaDB 10.x 부터

버전별 MySQL 루트 비밀번호 변경 방법 MySQL 5.7 이상 MariaDB 10 이상 버전의 설정 방법입니다.

ALTER USER 'root'@'%' IDENTIFIED BY '새로운패스워드'; 
# 내부접속만 허옹: localohst 또는 192.193.xx.xxx 아이피 주소 입력
ALTER USER 'root'@'localohst' IDENTIFIED BY '새로운패스워드'; 
GRANT ALL PRIVILEGES ON root.* TO root@'%' IDENTIFIED by '새로운패스워드';
DBMS(Database-Management-System)

✅ 5.6 이하 5.7 이상: 모든 버전 동일(외부 접속 등 설정)

  • 외부 접속이 필요한 경우
  • 루트 접속 계정만 외부 접속을 허용하기 위해 % 값을 설정
  • 외부접속 허용 옵션 : ‘%’ / 특정 IP: ‘123.512.123.412’ / 로컬호스트: ‘localhost’ | 127.0.0.1
# 데이터베이스명.테이블 명 생성 시 
mysql> GRANT ALL PRIVILEGES ON 데이터베이스명.테이블명 TO 사용자@'호스트' IDENTIFIED by '변경할DB패스워드';
# 유저 패스워드만 변경(데이터베이스, 테이블 생성 x; 
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED by '변경할DB패스워드';

### by '변경할DB패스워드'; 제외 후 권한 설정
# 일부 IP 대역 허용
GRANT ALL PRIVILEGES ON *.* TO 'root'@'123.512.%';

FLUSH PRIVILEGES;

✅ 변경된 설정 확인 및 계정 정보 조회하기

#계정 정보 조회
mysql> select host, user, password from mysql.user;
mysql> FLUSH PRIVILEGES;
MySQL

간단하게 버전별 MySQL 루트 비밀번호 변경 방법에 대해 알아 봤습니다.

✅ 참고 사항

홈페이지 소스에서 UTF-8 아래에 어떤 방법으로 만들었는지 소스를 볼 수 있음. 
DB 버전 : Mysql - 마리아DB 5 => mysql 5.5 // 마리아db 10 => mysql 5.6 버전으로 적용되며, my sql을 보는 이유는 UTF-8인지 EUC-KR인지를 판단.

Similar Posts