Mariadb/Mariadb 기본

MariaDB root 패스워드 초기화 및 권한 재생성

Max-Jang 2024. 2. 26. 16:13
반응형

✅ MariaDB, MySQL root 패스워드 초기화 진행

먼저 구동 중인 데몬을 정지 시킵니다.

mariadb stop 스크립트로 정지한다.
  • myslq 소스 설치인 경우
  • /etc/init.d/mysqld stop

1. MariaDB 안전 모드 실행: mariadbd-safe

MariaDB일 경우

2. MariaDB 안전 모드 실행: MySQL_safe

Mariadb 일 경우

* mariadb  설치경로 ( ex - mariadb/instance/bin/  안에 

mariadb-safe --defaults-file=/DEV_DB/data/forshop/my.cnf --skip-grant & 실행

 
✅ root 접속 및 패스워드 변경하기

서버에서 사용하는 버전에 맞게 패스워드 접속을 시도합니다.

## sock

mysql -u root -p -S /tmp/forshop.sock

mariadb -u root -p
mysql -u root -p

이제 패스워드 변경을 진행합니다.

# mysql 5.6 이하(마리아 DB 5 버전)
mysql> update mysql.user set password = password('패스워드') where user = 'root';
# mysql 5.7 이상 및 MariaDB 10 버전 이상
ALTER USER 'root'@'localohst' IDENTIFIED BY '새로운패스워드';

root 권한이 날라갔을 경우 

mariadb 10.4 버전 이후 부터는 mysql.user 테이블이 없어지고

global_priv 테이블로 변경이 되었다. 

root 의 권한이 날라갔을 경우 다른 instance 의 모든 권한이 있는 계정을 참고 하여

mysql.global_priv 테이블의  priv 컬럼의 값을 복사하여권한이 없는 instance 에 업데이트 쳐주면 정상적으로 권한이 부여된다. 

 

✅ 안전모드 종료하기

모든 작업이 진행되었으면 안전 모드 종료를 진행합니다.

shutdown 
후 다시
startup