드물지만 간혹 워드프레스 사이트에 접속하려고 시도할 때 혹은 관리자 페이지에 접속하려고 시도할 때 '하나 이상의 데이터베이스 테이블이 사용가능하지 않습니다' 에러가 표시되는 경우가 있을 수 있습니다.
워드프레스에서 "하나 이상의 데이터베이스 테이블이 사용가능하지 않습니다" 에러 발생 시 대처 방법
이 오류가 발생할 경우 "수리" 링크를 클릭하면 해결 방법이 제시됩니다.
혹시 모르니 먼저 데이터베이스(DB)를 백업하도록 합니다. DB는 phpMyAdmin 등을 통해 백업할 수 있습니다. phpMyAdmin 또는 DB 클라이언트 툴에 접속하는 방법을 모르는 경우 웹호스팅 업체에 문의하시면 안내를 받을 수 있을 것입니다.
FTP/SFTP에 접속하여 [**wp-config.php**] 파일에 다음과 같은 라인을 추가합니다.
define (‘WP_ALLOW_REPAIR’, true);
이제 위의 페이지를 리로드하거나 다음 URL에 접속합니다.
http://example.com/wp-admin/maint/repair.php
그러면 다음과 같은 화면이 표시될 것입니다.
"데이터베이스 수리하기" 또는 "데이터베이스 수리하고 최적화하기" 버튼을 클릭하면 DB 문제가 해결될 것입니다. 저는 "데이터베이스 수리하고 최적호하기"를 선택했습니다.
수리가 완료되면 경과가 표시되고 사이트가 정상화될 것입니다.
wp_users 테이블이 괜찮습니다.
wp_users 테이블을 이미 최적화했습니다.
wp_usermeta 테이블이 좋지 않습니다. 다음 오류를 보고했습니다: 9 clients are using or haven't closed the table properly. 워드프레스가 이 테이블의 수리를 시도할 것입니다…
wp_usermeta 테이블을 성공적으로 수리했습니다.
wp_usermeta 테이블을 이미 최적화했습니다.
wp_posts 테이블이 좋지 않습니다. 다음 오류를 보고했습니다: 9 clients are using or haven't closed the table properly. 워드프레스가 이 테이블의 수리를 시도할 것입니다…
wp_posts 테이블을 성공적으로 수리했습니다.
wp_posts 테이블을 이미 최적화했습니다.
....
에러 로그를 확인해보니 DB 테이블이 충돌이 발생하여 수리를 해야 한다는 에러가 표시되네요.
[11-May-2023 17:48:01 UTC] WordPress database error Table './wp_options' is marked as crashed and should be repaired for query UPDATE `wp_options` SET `option_value` = ...
블루호스트 등 cPanel을 제공하는 호스팅을 이용하는 경우 워드프레스 디렉터리에 [**error_log**] 파일이 생성되어 있을 수 있습니다. 이 파일의 크기가 과도하게 커지면 문제가 될 수 있으므로 문제가 해결되면 삭제할 수 있습니다. (에러를 분석하고 싶은 경우 에러 로그 파일을 백업한 후에 삭제할 수 있을 것입니다.)
'하나 이상의 데이터베이스 테이블이 사용가능하지 않습니다' 에러를 최소화하는 방법 중 하나로 DB 최적화 플러그인을 설치하여 주기적으로 실행해주는 것을 고려할 수 있습니다.
데이터베이스 최적화 플러그인을 실행하기 전에 DB를 백업하여 다운로드하는 것이 안전합니다.
참고
https://avada.tistory.com/2969
https://avada.tistory.com/2952
https://avada.tistory.com/2741