// 1. MySQL 정지
systemctl stop mysqld
// 2. MySQL 환경변수를 변경해서 비밀번호없이 root 로그인할 수 있도록 변경
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
// 3. MySQL 재시작
systemctl start mysqld
// 4. MySQL 접속. 현재 비번 입력없이 접속이 가능하므로 그냥 엔터침
mysql -u root -p
// 5. root 비밀번호을 null 초기화 후 일단 MySQL 접속해제
UPDATE mysql.user SET authentication_string = null where user = 'root';
FLUSH PRIVILEGES;
quit
// 6. MySQL 재접속. 현재 비번은 null이므로 엔터치고 접속하면 됨
mysql -u root -p
// 7. root 비밀번호 재설정 후 MySQL 접속해제
alter user 'root'@'localhost' identified with caching_sha2_password by '새비밀번호';
FLUSH PRIVILEGES;
quit
// 8. MySQL 정지 후 환경변수 제거 후 다시 재시작
systemctl stop mysqld
systemctl unset-environment MYSQLD_OPTS
systemctl start mysqld
|