메뉴 닫기

xe에서 mysql문제로 인해 로그인이 안될때 문제해결방법

오늘 제가 사용하던 서버가 멈춰버려 강제리부팅을 진행한 이후 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
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 56
Server version: 5.X.XX Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql> use xe;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> repair table po_session;
+——————-+——–+———-+——————————————————+
| Table | Op | Msg_type | Msg_text |
+——————-+——–+———-+——————————————————+
| xe.xe_session | repair | info | Found block with too small length at 547092; Skipped |
| xe.xe_session | repair | status | OK |
+——————-+——–+———-+——————————————————+
2 rows in set (0.49 sec)

mysql>

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x