본문 바로가기

TIL ( CODESTATES)

mysql root 비밀번호 변경하기

export DATABASE_PASSWORD=내 패스워드

어제 access denied for user (using password:NO) 에러가 나왔을 때는

export DATABASE_PASSWORD=내 패스워드 (병진님 감사해욧!)

명령어를 통해서라도 비밀번호를 전달하고 접속에 성공했었다.

 

오늘 팀원의 변경사항을 pull로 가져온 후에는 다시 접속이 안 되었다.

어제처럼 여전히 mysql -u root -p 로 비밀번호 전달 후 mysql에는 접속이 되지만

npm start로 했을 때는 mysql에 접속이 거부되었다.

export 명령어도 효과가 없었다.

 

 


mysql 버전에 따라 root 비밀번호 변경하기

어쩔 수 없이 비밀번호를 변경했다.

검색해보니 mysql버전에 따라 root 비밀번호 변경하는 방법도 달랐다.

root 비밀번호 변경 시 참고한 블로그

터미널에 mysql -V 이라고 입력하면 버전을 알 수 있다. 

 

mysql에 접속 후

 

use mysql      (여러 데이터베이스 중 mysql을 사용한다.)

alter user 'root'@'localhost' identified with mysql_native_password by '바꿀비밀번호';  - Ver 8 이상인 경우

flush privileges;      (변경사항을 저장한다.)

 

라고 입력하면 비밀번호가 변경 및 변경 사항이 저장된다.

 

 

mysql 다른 버전의 경우

set PASSWORD for 'root'@'localhost'=PASSWORD('lululala123');    - Ver 5.7 이상

update mysql.user set password=password('lululala123') where user='root';flush privileges;    - Ver 5.6이하

update mysql.user set authentication_string=password('lululala123') where user='root';   - mysql.user 테이블에 password 컬럼이 없는 경우