[MySQL] MySQL 비밀번호 재설정

Intro

MySQL을 재설치한 후 비밀번호를 설정했을 때 암호화를 거치지 않아서 재설정을 했다. 이에 대해 기록하고자 한다.

재설치와 관련된 포스팅은 이전 포스팅을 참고 해주시면 감사하겠습니다.

작성자는 MySQL 8.1.0 버전으로 작성되었습니다.(HomeBrew로 설치)


비밀번호 설정(초기 설정)

초기에 이 방법으로 설정하면 문제가 없을 것이라 생각이 든다.

  1. MySQL 접속
    1
    
    mysql -u root
    
  2. DB를 선택.
    1
    
    use mysql;
    
  3. 유저와 패스워드 조회
    1
    
    select host,user,authentication_string from user;
    
  4. 유저가 없다면 유저 생성(있으면 5번으로)
    1
    
    CREATE USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '1234';
    
  5. 패스워드 설정
    1
    
    ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '1234';
    

비밀번호 초기화 및 재설정

나는 비밀번호를 암호화하지 않아서 mysql이 접속되지 않았고 이에 대해 해결방법을 작성한다.

  1. MySQL 서버를 멈춘다.
    1
    
    mysql.server stop
    
  2. MySQL 서버를 비밀번호를 입력하지 않아도 접속하는 설정.
    1
    
    mysql.server start --skip-grant-tables
    
  3. root 유저로 접속
    1
    
    mysql -u root
    
  4. DB 선택
    1
    
    use mysql;
    
  5. 기존 비밀번호를 Null로 변경
    1
    
    UPDATE user SET authentication_string=null WHERE User='root';
    
  6. 변경 권한 설정(반드시 해야 함.)
    1
    
    FLUSH PRIVILEGES;
    
  7. Mysql 재접속
    1
    2
    
    exit
    mysql -u root
    
  8. 비밀번호 변경
    1
    
    ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '1234';
    

참고 사이트

mysql 비밀번호 재설정