MySQL/MariaDB root 비밀번호 초기화 방법
[root@infracody ~]# mysqld_safe -bash: mysqld_safe: command not found
MySQL 또는 MairaDB에서 root 계정의 비밀번호를 분실하거나 초기화해야 할 때 mysqld_safe 명령어를 찾을 수 없어서 발생한 오류이며, mysqld_safe 명령어를 실행할 수 없을 때 root 계정의 비밀번호 초기화 방법에 대해 알아봅니다.
리눅스 서버에서 MySQL의 root 계정 비밀번호를 잃어버리거나 모를 경우 지금까지 mysqld_safe 명령어를 사용하여 root 비밀번호를 변경해왔습니다. 사용해왔던 MySQL 5.7.24 버전에서는 mysqld_safe 유틸리티를 제공했지만, 새로 설치한 MySQL 5.7.36 버전의 mysql-community-server RPM 패키지에는 mysqld_safe 유틸리티가 포함되어 있지 않기 때문에 명령어를 찾을 수 없다는 에러가 출력되며 명령이 실행되지 않았습니다.
systemd를 사용하고 mysqld_safe 명령어 파일이 존재하지 않을 경우 mysqld_safe --skip-grant-table &
명령어로 안전 모드를 실행하는 것이 아니라 systemd의 mysqld 서비스에 환경 변수를 추가해서 안전 모드로 실행할 수 있었습니다. MySQL 8 이상의 버전도 마찬가지로 mysql_safe 유틸리티를 지원하지 않으며, mysqld_safe 명령어가 존재하지 않을 때 root 비밀번호 초기화 과정에 대해 알아봅니다.
환경 정보
- 운영 체제(OS) : CentOS Linux release 7.9.2009 (Core)
- 실행 계정 : root
- MySQL 설치 버전 : mysql-community-server-5.7.36-1.el7.x86_64
SSH Client 프로그램을 사용해서 root 계정으로 접속합니다.
PuTTY와 Xsheel과 같은 SSH Client 프로그램을 실행해서 서버에 root 계정으로 접속합니다. 일반 계정으로 접속 시 su, sudo 명령으로 root 권한을 획득합니다.
MySQL 서비스를 종료합니다.
systemctl stop mysqld
MySQL 서비스에 –skip-grant-tables 환경 변수를 추가합니다.
CentOS 7 버전부터 systemd를 사용해서 서비스를 관리하기 때문에 아래와 같이 systemctl 명령으로 MySQL 환경 변수를 추가하여 safe 모드로 MySQL 서비스를 실행합니다.
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
MySQL 서비스를 시작합니다.
systemctl start mysqld
MySQL Shell에 root 계정으로 로그인합니다.
mysql -uroot
MySQL root 계정 비밀번호를 설정합니다.
아래 쿼리를 실행하여 root 계정 비밀번호를 설정합니다.
FLUSH PRIVILEGES; 명령으로 권한 설정을 먼저 불러와야 비밀번호를 업데이트할 수 있습니다.
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
MySQL Shell을 종료합니다.
quit
MySQL 서비스를 중지합니다.
systemctl stop mysqld
MySQL 환경 변수를 초기화합니다.
systemctl unset-environment MYSQLD_OPTS
MySQL 서비스를 시작합니다.
systemctl start mysqld
MySQL 서버에 root 계정으로 접속합니다.
mysql -uroot -p
[root@infracody ~]# mysql -uroot -p Enter password: PASSWORD
마치며
MySQL 서버의 root 계정 비밀번호를 잊어버리거나 모를 경우 root 계정의 비밀번호를 업데이트하는 방법에 대해 알아보았습니다. 위 실습 내용을 따라 하면 쉽게 MySQL root 계정 비밀번호를 초기화할 수 있습니다.
- 블로그 : www.infracody.com
이 글이 유익했나요? 댓글로 소중한 의견을 남겨주시거나 커피 한 잔의 선물은 큰 힘이 됩니다.