2019/12/09

MariaDB password 설정

MySQL 또는 MariaDB 데이터베이스 서버를 처음 설정하는 경우 기본 보안 설정을 구현하기 위해 mysql_secure_installation 실행하게 된다.

보안 관련 설정에서 가장 중요한 것은 root 데이터 베이스 비밀번호이다.

root 비밀 번호를 분실 했을 경우 복구 하는 방법에 대해 설명한다.

서비스 정지
------------- SystemD -------------
# systemctl stop mariadb

------------- SysVinit -------------
# /etc/init.d/mysqld 중지

--skip-grant-tables 옵션을 사용해 서비스 시작
------------- SystemD -------------
# systemctl set-environment MYSQLD_OPTS = "-skip-grant-tables"
# systemctl start mariadb
# systemctl 상태 mariadb

------------- SysVinit -------------
# mysqld_safe --skip-grant-tables &

데이터 베이스 접근
mysql -u root

패스워드 변경
use mysql;
UPDATE user SET password=PASSWORD('YourNewPasswordHere') WHERE User='root' AND Host = 'localhost';
FLUSH PRIVILEGES;

데이터 베이스 재구동.
------------- SystemD -------------
# systemctl stop mariadb
# systemctl unset-environment MYSQLD_OPTS
# systemctl start mariadb

------------- SysVinit -------------
# /etc/init.d/mysql stop
# /etc/init.d/mysql start


MariaDB 10.4 인증 변경 사항 검토
================================
비밀번호 저장소 변경.
전체 사용자 계정, 비밀번호 및 클로벌 권한 mysql.global_priv 테이블에 저장 된다.

mysql.user 테이블 ?
여전히 존재하며, 그 전과 동일한 테이블 구조를 가지고 있다.
mysql.user 테이블을 사용하는 곳이 있다면 이전 처럼 계속 동작한다.

현재 mariadb 설정 할 수 있는 사용자는 mysql.global_priv 테이블로 이동한 상태이다.

댓글 없음:

댓글 쓰기