[CentOs] mysql 비밀번호 설정

florentyoon·2021년 5월 29일
1

MySQL

목록 보기
1/4

centos에 mysql을 설치한 후 가장 먼저 해야할 일은 root계정의 비밀번호 변경하기

1. mysql 최초 설치 후 root 계정 비밀번호 확인하기

# grep 'password' /var/log/mysqld.log

맨 오른쪽에 특수기호 들어간 문자가 암호. 그대로 복사

2. mysql 접속하기

mysql -uroot -p

위 코드 입력하면 enter password가 뜬다.
아까 복사한 압호 입력.

이제 암호를 재설정해야 한다.

3. mysql 암호 설정

alter user 'root@localhost' identified by '1234';

그러나 아래처럼 에러가 뜬다.

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

비밀번호 정책에 안맞단 의미.

또는 alter 로 변경을 할 경우

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

처럼 에러가 뜰 수 있다. 이럴땐

set password = password('1234');

로 써준다.

4. 현재 비밀번호 정책 알아보기

 show variables like 'validate_password%';

문자 길이가 8글자, 숫자 있어야 한고, 특수문자도 1개 이상 있어야하는 정책.
저 MEDIUM을 LOW로 바꿔서 정책을 낮춘다.

set global validate_password_policy=LOW;

단 위 코드는 mysql을 재시작하면 다시 MEDIUM으로 초기화 된다.

다시 위에 있는 비밀번호 변경 코드를 실행한다.

만약 그래도 똑같은 에러가 뜬다면

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

정책 설정 뿐 아니라 validate_password_length가 8자리라서 그럴 수 있다.

set global validate_password_length = 4;

이렇게 해서 암호 길이 설정을 4자리로 변경할 수 있다.
다시 암호 설정을 하면 정상적으로 변경된다.

비밀번호 설정 후 정상 확인.

mysql> set password = password('1234');
Query OK, 0 rows affected, 1 warning (0.01 sec)

이제 exit 로 mysql을 나간다. 그다음 다시 mysql 로그인.

mysql -uroot -p

정상적으로 로그인 된다.

마지막으로 저장

flush privileges;
profile
florentyoon의 IT 세상

0개의 댓글