본문 바로가기

OS/Linux

mysql root 비밀번호 초기화 및 변경

반응형

1. 서비스종료

/etc/init.d/mysqld stop

 

2. 권한을 무시하고 MySQL 서비스 실행

mysqld_safe --skip-grant-tables &

 

3. MySQL 실행(아래 명령어는 곧바로 mysql DB에 접근한다.)

mysql -u root mysql

 

4. user 테이블 조회(비밀번호 관련 정보가 저장되어있다)

select user, host, password fromuser;

 

5. 비밀번호 변경

update user set password=PASSWORD('새로운비밀번호') where user='root';

 -> ※참고로 PASSWORD라는 함수안에 새로운 비밀번호를 써야한다. 본인은 그냥 PASSWORD를 넣는 자리인줄알고 아래와 같이 썼었다.

    update user set password='새로운비밀번호' where user='root';

이렇게 작성해도 쿼리문이 적용되기 때문에 문제는 없는것으로 느껴진다. 그러나 MySQL 로그인할때 입력하는 비밀번호는 PASSWORD함수안에서 암호화가 이루어진다음 그 문자를 비교하기 때문에 역시 로그인할때 에러가 발생한다.

 

6. 변경사항 적용(서비스를 그냥 재시작해버리면 적용되지 않는다)

FLUSH PRIVILEGES;

 

7. MySQL 종료

quit

 

8. 서비스 재시작

/etc/init.d/mysql restart

 

9. MySQL 로그인

mysql -u root -p

 

반응형

'OS > Linux' 카테고리의 다른 글

Centos7 유저한테 루트 권한 주기  (0) 2020.09.02
mysql 사용자 추가, 제거 및 권한부여  (0) 2020.03.18
리눅스 find  (0) 2020.03.14
aws ligthsail 새로운 유저 만드는법  (0) 2020.03.14
mysql or mariadb 원격접속  (0) 2019.10.16