오늘 제가 사용하던 서버가 멈춰버려 강제리부팅을 진행한 이후 xe에 로그인이 안되는 현상이 발생되었습니다.
접속정보는 올바른데도 말이죠 보통 그런경우 ‘로그인 유지’를 선택하고 로그인하면 어떻게 로그인은 가능해집니다
무엇이 문제일까 곰곰히 생각해보다가 xe의 인증 세션 DB 사용 부분을 사용한다는것을 떠올리고 mysql을 확인해보고자했습니다.
1. 먼저 제가 백업해둔 DB를 복원하기 이전에 DB를 백업했습니다. 그런데 테이블에 문제가 있는지 아래와 같은 내용이 표시되었습니다.
우선 xe_session 테이블에 문제가 생긴것으로 확인되어 리페어(repair)부터 진행해보기로 했습니다.
mysqldump -u’root’ -p -A > root_backup.sql
mysqldump: Got error: 145: Table ‘./xe/xe_session’ is marked as crashed and should be repaired when using LOCK TABLES |
2. mysql로 접근을 진행했습니다.
mysql -uroot -p
3. xe의 DB로 접근 했습니다.
예시 use xe;
실제 use 설정한DB이름;
4. 깨진 테이블의 repair를 진행했습니다. 저는 그 이후 정상적으로 xe 홈페이지의 로그인이 가능했습니다 하지만
repair를 진행하고도 정상화가 되지않는다면 이전에 백업해둔 DB를 복구해보는것을 권장합니다.
예시 repair table xe_session;
실제 repair table 깨진 테이블명
실제 작업 사항
[root@localhost]# mysql -uroot -p Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement. mysql> use xe; Database changed mysql> |