WebApps의 MySQL In App 암호 만료 후 복구 방법

2778 단어 WebAppsAzure
어느 날 MySQL In App에서 실행 중인 워드프레스 사이트가 데이터베이스 연결 오류로 인해 실행되지 않았습니다.
이유를 보려고 MySQL 로그를 봤어요.
ySQLINApp에서 로그를 보려면 Kudu 액세스D:\home\LogFiles\mysql를 사용하여 로그를 봅니다.
그리고 이런 로그를 출력했습니다.
[Note] Your password has expired. To log in you must change it using a client that supports expired passwords.
비밀번호가 만료되었습니다!그래서 MySQL의 비밀번호가 유효기간이 있는지 몰랐지만 MySQL 5.7.4 에 추가된 것 같습니다.
기본 설정은 유효기간이 365일로 1년 동안 실행되었습니다.
어쨌든 mysql에 로그인할 수 없는 것은 어쩔 수 없기 때문에 복구를 시도해 보았습니다.

암호 재설정


내 SQL 비밀번호가 만료되었기 때문에 나는 My SQL 비밀번호를 다른 것으로 바꾸려고 한다.
주의해야 할 것은 Kudo에서 mysql와 명령을 쳐도 경로가 통과되지 않기 때문에 mysql를 실행할 수 없습니다.
mysql의 실행 파일은 D:\Program Files (x86)\mysql\5.7.9.0\bin 에 있기 때문에 현재 디렉터리를 이동합니다.
cd D:\Program Files (x86)\mysql\5.7.9.0\bin
그리고 - connect-expired-password를 사용하여 로그인합니다.
사용자 이름과 비밀번호는 같지만 포트 번호만 다르기 때문에 자신의 mysql 포트 번호를 넣어야 합니다.저는 wp-config입니다.php 봤어요.
./mysql -u azure --port={your mysql port} --password=password --connect-expired-password
이 때, Kudo에서 mysql에 로그인할 때의'>'같은 표시가 없을 수도 있지만, 어쩔 수 없이 아래의 문자열만 출력하고, 오류가 없으면 로그인에 성공했습니다.

Kudo 콘솔의 오류라고 생각하지만 명령을 내릴 때마다 다시 로그인해야 합니다.
다음 명령을 사용하여 암호를 tempcode 로 변경합니다.
set password for 'azure'@'localhost' = password('tempcode');
이 비밀번호로 필터를 할 수 있지만 phpmyadmin은 비밀번호가 password가 아니면 안 될 것 같아서 다시 패스워드로 변경했습니다.
./mysql -u azure --password=tempcode --port={your mysql port};
set password for 'azure'@'localhost' = password('password');
현재 비밀번호가 만료된 상태에서 복구가 완료되었습니다.
아마 phpmyadmin도 사용할 수 있을 거예요. 워드프레스도 접근할 수 있는 상태예요.

기한을 넘기다


하지만 이렇게 되면 1년 뒤에는 비밀번호를 다시 설정해야 하기 때문에 유효기간 설정을 취소해야 한다.
ySQL의 유효기간 설정은 default_password_lifetime 이라는 글로벌 변수에 의해 결정됩니다.
통상적으로 my.conf,my.ini를 변경하면 되지만 WebApps에서 MySQL 실행 파일 위치를 다시 쓸 수 있는 권한이 없기 때문에 명령으로 전역 변수를 변경하기로 결정했습니다.
다음 명령을 눌러 MySQL에 다시 로그인합니다.
SET GLOBAL default_password_lifetime = 0;
암호의 라이프 사이클 0은 무제한으로 사용할 수 있습니다.
그런 다음 글로벌 변수가 변경되었는지 확인합니다.
SHOW GLOBAL VARIABLES  LIKE 'default_password_lifetime';

순조롭게 무기한 변경되었다.

끝내다


My SQL In App이 아직 미리보기 중이기 때문에 Kudo에서는 출력 등 다양한 상황을 보기 어렵다.

좋은 웹페이지 즐겨찾기