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 테이블로 이동한 상태이다.
댓글 없음:
댓글 쓰기