웹사이트 검색

Linux에서 MySQL 또는 MariaDB 루트 비밀번호를 재설정하는 방법


MySQL 또는 MariaDB 데이터베이스 서버를 처음 설정하는 경우 기본 보안 설정을 구현하기 위해 곧 mysql_secure_installation을 실행하게 될 가능성이 있습니다.

이러한 설정 중 하나는 데이터베이스 루트 계정의 비밀번호입니다. 이 비밀번호는 비공개로 유지하고 꼭 필요한 경우에만 사용해야 합니다. 비밀번호를 잊어버렸거나 비밀번호를 재설정해야 하는 경우(예: 데이터베이스 관리자가 역할을 바꾸거나 해고된 경우)

권장 읽기: MySQL 또는 MariaDB 루트 비밀번호 변경

이 글이 도움이 될 것입니다. Linux에서 잊어버린 MySQL 또는 MariaDB 루트 비밀번호를 재설정하거나 복구하는 방법을 설명합니다.

이 기사에서는 MariaDB 서버를 사용하지만 지침은 MySQL에서도 작동합니다.

MySQL 또는 MariaDB 루트 비밀번호 복구

시작하려면 데이터베이스 서비스를 중지하고 서비스 상태를 확인하세요. 이전에 설정한 환경 변수가 표시되어야 합니다.


------------- SystemD ------------- 
systemctl stop mariadb

------------- SysVinit -------------
/etc/init.d/mysqld stop

다음으로 --skip-grant-tables를 사용하여 서비스를 시작합니다.


------------- SystemD ------------- 
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
systemctl start mariadb
systemctl status mariadb

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

이렇게 하면 비밀번호 없이 루트로 데이터베이스 서버에 연결할 수 있습니다(이렇게 하려면 다른 터미널로 전환해야 할 수도 있습니다).


mysql -u root

그 이후로는 아래 설명된 단계를 따르세요.


MariaDB [(none)]> USE mysql;
MariaDB [(none)]> UPDATE user SET password=PASSWORD('YourNewPasswordHere') WHERE User='root' AND Host = 'localhost';
MariaDB [(none)]> 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/MySQL 루트 비밀번호를 재설정하는 방법에 대해 설명했습니다. 언제나 그렇듯, 질문이나 피드백이 있는 경우 언제든지 아래 의견 양식을 사용하여 메모를 남겨주세요. 여러분의 의견을 기다리겠습니다!