IT

[mysql] root 비밀번호 초기화

Hragon 2021. 1. 29. 19:43

Ubuntu에서 MySQL 루트 암호를 재설정하는 방법

--skip-grant-tables 옵션으로 MySQL을 시작하여 Ubuntu에서 MySQL 루트 비밀번호를 재설정합니다.

Introduction

MySQL 루트 비밀번호를 잊었거나 이상하게 변경되었을 때 🤔. 고맙게도 --skip-grant-tables 옵션을 사용하는 방법이 있습니다.

 

시작하기 전에 phpMyAdmin에 로그인하는 데 문제가 있고 'root'@ 'localhost'사용자에 대한 액세스 거부 오류가 발생하지만 루트 암호가 정확하다고 확신하는 경우 먼저이 문서를 참조하십시오 : 로그인 할 수 없음 phpMyAdmin으로 : mysqli_real_connect () : (HY000 / 1698) : 사용자 'root'@ 'localhost'에 대한 액세스가 거부되었습니다.

1. MySQL 버전 확인

먼저, 명령으로 실행중인 Ubuntu의 MySQL 버전이 다를 것인지 확인해야합니다.

mysql -V


MySQL 버전 8의 경우 다음과 같은 내용이 표시됩니다.

x86_64의 Linux 용 mysql Ver 8.0.20-0ubuntu0.20.04.1 ((Ubuntu))

mysql Ver 8.0.20-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

2. skip-grant-table로 MySQL 다시 시작

루트 암호를 재설정하려면 먼저 MySQL 서비스를 중지해야합니다. 프롬프트가 표시되면 Linux 비밀번호를 입력하십시오.

 

sudo /etc/init.d/mysql stop
sudo mkdir /var/run/mysqld
sudo chown mysql /var/run/mysqld

 

이제 --skip-grant-tables 옵션으로 MySQL을 시작합니다. 여기에 &가 필요합니다.

sudo mysqld_safe --skip-grant-tables&

뭔가 진행된 문구가 보이면 ENTER를 눌러서 리눅스 BASH프롬프트로 갑니다

 

3. MySQL Root Password 변경

MySQL 8 – ROOT 비밀번호 초기화

MySQL 8 

UPDATE mysql.user SET authentication_string=null WHERE User='root';
flush privileges;

MySQL 8 – ROOT 비밀번호 변경

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password_here';

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password_here';
flush privileges;
exit

 

반응형