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

공정위 광고 문구 Ver 2.0

서버의 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

  • MySQL: Grant All Privileges 쿼리문

    MySQL에서 ‘Grant All Privileges’ 명령어는 유저가 데이터베이스에 접근할 수 있는 권한을 부여할 때 사용합니다. test라는 데이터베이스의 모든 테이블(*)에 testuser가 외부에서의 접근을 허용하는 것을 의미합니다. Grant All Privileges 호스트 예시 MySQL Grant All Privileges는 사용자 계정에 MySQL 작업을 규제하고 실행할 수 있는 권한을 부여하는 관리 명령문입니다. 새로운 사용자가 CREATE USER 문을 사용하여 단일 또는 여러…

  • SQL: 테이블 구조, 쿼리(Query), 저장 프로시저(3가지 분류)

    ✅ SQL이란? SQL(Structured Query Language)은 구조화된 질의 언어의 뜻을 가지고 있습니다. 구조적 쿼리 언어(SQL)는 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어입니다. 관계형 데이터베이스는 정보를 표 형식으로 저장하며, 행과 열은 다양한 데이터 속성과 데이터 값 간의 다양한 관계를 나타냅니다. ✅ SQL 시스템의 구성 요소 SQL 시스템은 테이블, 쿼리, 저장 프로시저 3가지로 분류할 수…

  • [DBMS] MySQL, MariaDB 데이터베이스 &유저 생성

    MariaDB 데이터베이스 생성 및 삭제, 이름 변경 방법 그리고 유저 생성과 삭제에 대해 간단히 알아 보겠습니다. MariaDB 데이터베이스 생성과 삭제 먼저 데이터베이스 목록을 조회합니다. 데이터베이스 생성 test01로 데이터베이스를 생성합니다. 데이터베이스 삭제 데이터베이스 이름 변경 test01 데이터베이스를 test02로 변경하고 싶은 경우 test02 데이터베이스를 먼저 생성해야 합니다. 먼저 mysqldump로 test01 백업 파일을 생성합니다. test02로 복원합니다….

  • DB Query | SQL Statement(SQL 문) | 쿼리문 | 기본 문법

    DB QuerySQL Statement(SQL 문)는 MySQL, MariaDB 등과 같은 데이터베이스 관리 시스템(DBMS:Database Management System: DBMS)에서 사용되며, MySQL Query, SQL 명령어, SQL 쿼리, Mysql 명령어 등 다양한 형식으로 불리고 있습니다. 쿼리문은 명령의 역할에 따라 3가지로 분류합니다. 업무를 보면서 당장에 인식하고 사용하지 않더라도 차츰 이해하고 사용한다면 도움이 될 수도 있다고 생각합니다. ✅ DB Query(SQL 문) 분류…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 5   +   7   =