SW/MySQL

MySQL : 루트 암호 재설정 방법, 명령어

얇은생각 2020. 9. 26. 07:30
반응형

MySQL : 루트 암호 재설정 방법, 명령어

 

 

MySQL 루트 비밀번호를 잊어버렸습니까? 걱정하지 마세요, 우리 모두에게 그런 일이 일어납니다.

이 포스팅에서는 명령줄에서 MySQL 루트 암호를 재설정하는 방법에 대해 설명합니다.

 

 

 

서버 버전을 식별

시스템에서 실행 중인 MySQL 또는 MariaDB 서버 버전에 따라 루트 암호를 복구하려면 다른 명령을 사용해야 합니다.

다음 명령을 실행하여 서버 버전을 찾을 수 있습니다.

mysql --version

 

시스템에 MySQL이 설치되어 있는 경우 출력은 다음과 같습니다.

mysql  Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using  EditLine wrapper

 

아니면 마리아 디비를 위해 이렇게 출력하세요.

mysql  Ver 15.1 Distrib 10.1.33-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

 

 

실행 중인 MySQL 또는 MariaDB 버전을 기록해 두어야 합니다.

 

 

 

MySQL 또는 MariaDB 루트 암호를 재설정하는 방법

MySQL/MariaDB 루트 암호를 재설정하려면 다음 단계를 수행합니다.

 

1. MySQL/MariaDB 서비스를 중지합니다.

루트 암호를 먼저 변경하려면 MySQL 서버를 중지해야 합니다. 이렇게 하려면 다음 명령을 입력합니다.

sudo systemctl stop mysql

 

 

2. 허가 테이블을 로드하지 않고 MySQL/MariaDB 서버를 시작합니다.

권한 부여 테이블을 로드하지 않고 데이터베이스 서버를 시작합니다.

sudo mysqld_safe --skip-grant-tables &

 

 

위의 명령 끝에 있는 앰퍼샌드 &를 사용하면 프로그램이 백그라운드에서 실행되므로 셸을 계속 사용할 수 있습니다.

--skip-grant-tables 옵션을 사용하면 모든 사용자가 암호 없이 모든 권한이 부여된 데이터베이스 서버에 연결할 수 있습니다.

 

3. MySQL 셸에 로그인합니다.

이제 루트 사용자로 데이터베이스 서버에 연결할 수 있습니다.

mysql -u root

 

 

4. 새 루트 암호를 설정합니다.

MySQL 5.7.6 이상 또는 MariaDB 10.1.20 이상을 실행하는 경우 다음 명령을 실행합니다.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MY_NEW_PASSWORD';
FLUSH PRIVILEGES;

 

 

ALTER USER 문이 작동하지 않는 경우 사용자 테이블을 직접 수정해 봅니다.

UPDATE mysql.user SET authentication_string = PASSWORD('MY_NEW_PASSWORD')
WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;

 

MySQL 5.7.5 이전 버전 또는 MariaDB 10.1.20 이전 버전이 있는 경우 다음 명령을 실행합니다.

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MY_NEW_PASSWORD');
FLUSH PRIVILEGES;

 

 

두 경우 모두 정상적으로 진행되면 다음 출력이 표시됩니다.

Query OK, 0 rows affected (0.00 sec)

 

 

5. 데이터베이스 서버를 정상적으로 중지 및 시작합니다.

이제 루트 암호가 설정되었으므로 데이터베이스 서버를 중지하고 정상적으로 시작합니다.

mysqladmin -u root -p shutdown

 

 

새 루트 암호를 입력하라는 메시지가 표시됩니다

데이터베이스 서버를 정상적으로 시작합니다.

 

MySQL의 경우 다음을 입력합니다.

sudo systemctl start mysql

 

MariaDB의 경우 다음을 입력합니다. 

sudo systemctl start mariadb

 

 

6. 암호를 확인합니다.

새 루트 암호가 올바르게 적용되었는지 확인하려면 다음을 입력합니다.

mysql -u root -p

 

새 루트 암호를 입력하라는 메시지가 표시됩니다. 입력하면 데이터베이스 서버에 로그인해야 합니다.

 

 

 

결론

MySQL/MariaDB 루트 암호를 재설정하는 방법을 보여드렸습니다. 새 루트 암호가 강력하고 안전한지 확인하고 안전한 장소에 보관합니다.

본 안내서의 지침은 Ubuntu 18.04, Debian 10, CentOS 8과 같은 최신 Linux 배포판과 함께 사용할 수 있습니다.

반응형