버전별 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 '새로운패스워드';
✅ 5.6 이하 5.7 이상: 모든 버전 동일(외부 접속 등 설정)
# 데이터베이스명.테이블 명 생성 시
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 루트 비밀번호 변경 방법에 대해 알아 봤습니다.
✅ 참고 사항
홈페이지 소스에서 UTF-8 아래에 어떤 방법으로 만들었는지 소스를 볼 수 있음. DB 버전 : Mysql - 마리아DB 5 => mysql 5.5 // 마리아db 10 => mysql 5.6 버전으로 적용되며, my sql을 보는 이유는 UTF-8인지 EUC-KR인지를 판단.