Server version: 5.7.17-0ubuntu0.16.04.2 (Ubuntu)
( 문제 )
mysql 로그인시 비밀번호는 맞으나 데이터베이스를 사용하려고 하면 아래와 같은 에러 발생
mysql> use mysql;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
( 분석 )
현재 로그인 된 ID의 비밀번호 설정 (root)
mysql> set password=password('비밀번호')
or
mysql>GRANT ALL PRIVILEGES ON DB명.* TO '유저명'@'%' IDENTIFIED BY '비밀번호';
mysql>GRANT ALL PRIVILEGES ON DB명.* TO '유저명'@'127.0.0.1' IDENTIFIED BY '비밀번호';
mysql>GRANT ALL PRIVILEGES ON DB명.* TO '유저명'@'localhost' IDENTIFIED BY '비밀번호';
mysql>FLUSH PRIVILEGES;
위 방법으로 일부 해결되는 듯 하였으나 재 로그인시 초기화 됨 (일시적임)
( 해결 )
오류 내용에 답이 있음. ALTER USER를 이용해서 패스워드 재 설정
ALTER USER '유저명'@'localhost' IDENTIFIED BY '비밀번호'; // 로컬에서 접근 할 수 있게 등록
ALTER USER '유저명'@'127.0.0.1' IDENTIFIED BY '비밀번호'; // 127.0.0.1(로컬)로 접근 할 수 있게 등록
ALTER USER '유저명'@'%' IDENTIFIED BY '비밀번호'; // 어디서나 접근할 수 있게 등록
FLUSH PRIVILEGES;
( 참고 )
mysql 5.7 부터 비밀번호 컬럼이 바뀐듯.
기존 password 대신 authentication_string을 사용
mysql> update user set authentication_string=password('비밀번호') where user='유저명';
'개발' 카테고리의 다른 글
[JAVA] 싱글톤 구현 예제 (0) | 2017.07.04 |
---|---|
일반적인 디자인 패턴 종류 (0) | 2017.07.03 |
[알고리즘 문제] 콜라츠 추측 (0) | 2017.05.10 |
[알고리즘 문제] 정수 내림차순으로 배치하기 (0) | 2017.04.24 |
[알고리즘 문제] 하샤드수 (0) | 2017.04.20 |