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 비밀번호 변경하는 방법도 달랐다.
터미널에 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 컬럼이 없는 경우