파손된 xampp 'mysql.user' 테이블 복구 방법
어제 간단한 웹 기반 유틸리티 도구를 만들기 위해 Xampp를 사용했습니다.오늘은 작업을 계속하고 싶었지만 xampp 제어판에서 이상한 오류가 발생했습니다.
MySQL 오류 로그는 다음과 같습니다.
2019-07-20 23:47:13 0 [Note] InnoDB: Uses event mutexes
2019-07-20 23:47:13 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2019-07-20 23:47:13 0 [Note] InnoDB: Number of pools: 1
2019-07-20 23:47:13 0 [Note] InnoDB: Using SSE2 crc32 instructions
2019-07-20 23:47:13 0 [Note] InnoDB: Initializing buffer pool, total size = 16M, instances = 1, chunk size = 16M
2019-07-20 23:47:13 0 [Note] InnoDB: Completed initialization of buffer pool
2019-07-20 23:47:13 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=1819402
2019-07-20 23:47:14 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2019-07-20 23:47:14 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2019-07-20 23:47:14 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2019-07-20 23:47:14 0 [Note] InnoDB: Setting file 'C:\xampp\mysql\data\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2019-07-20 23:47:14 0 [Note] InnoDB: File 'C:\xampp\mysql\data\ibtmp1' size is now 12 MB.
2019-07-20 23:47:14 0 [Note] InnoDB: Waiting for purge to start
2019-07-20 23:47:14 0 [Note] InnoDB: 10.3.16 started; log sequence number 1819411; transaction id 257
2019-07-20 23:47:14 0 [Note] InnoDB: Loading buffer pool(s) from C:\xampp\mysql\data\ib_buffer_pool
2019-07-20 23:47:14 0 [Note] InnoDB: Buffer pool(s) load completed at 190720 23:47:14
2019-07-20 23:47:14 0 [Note] Plugin 'FEEDBACK' is disabled.
2019-07-20 23:47:14 0 [Note] Server socket created on IP: '127.0.0.1'.
2019-07-20 23:47:14 0 [ERROR] mysqld.exe: Table '.\mysql\user' is marked as crashed and should be repaired
2019-07-20 23:47:14 0 [ERROR] mysqld.exe: Index for table '.\mysql\user' is corrupt; try to repair it
2019-07-20 23:47:14 0 [ERROR] Couldn't repair table: mysql.user
2019-07-20 23:47:14 0 [ERROR] Fatal error: Can't open and lock privilege tables: Index for table 'user' is corrupt; try to repair it
이미 복구하려고 했지만, mySQL 서비스가 시작되지 않아서, 좀 무력해요...
이는 mariaDB(mySQL)에서 거의 알려진 버그입니다.자세한 것은, ApacheFriends.org 를 참조해 주세요.사용자 비밀번호 변경 후 문제가 발생합니다(대부분 사용자 루트).
일반적인 조언은 손실을 줄이고 XAMPP를 7.3.5로 다운그레이드하는 것입니다.
그렇지 않으면 7.3.7을 완전히 제거/재설치한 후에도 나중에 문제가 재발할 수 있습니다.
다음은 Windows/X의 회피/복구입니다.AMPP 사용자백업이 있다고 가정합니다(아마도 있습니다). (설치 프로세스에서 초기 백업이 제공되고 있는 것 같습니다.)다음 릴리스가 도착할 때까지 다운그레이드하지 않고 다시 가동시킬 수 있습니다.
늪에서 빠져나오는 가장 빠른 방법은 9단계로 가는 것이다.
(1 'my를 찾습니다 c1) 'my.ini'를 찾습니다(예: c:\xampp\mysql\bin\my.ini).
(2) 라벨 '[mysqld]' 뒤에 'skip-grant-tables'를 새 줄에 삽입한다.이것은 나중에 삭제해 주세요.
(3할 수 되었습니다3) XAMPP mySQㄹㄹㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴㄴ
(4)에서 'user
'.(5) 해 보십시오.# 'user'입니다 복구해 보십시오.
(6) 왼쪽 패널에서 'mysql'을 선택하고 오른쪽 패널에서 'user'를 확인한다.
(7) '선택한 항목' 드롭다운에서 '분석'을 실행한 다음 '수리 표'를 실행합니다.
'Repair하면 ' TABLE user8) 'DROP TABLE user'로합니다.
(9) 아래 3개의 파일을 복사하여 배포 백업에서 '사용자' 테이블을 다시 작성합니다.
C:\xampp\mysql\backup\mysql\user.frm
C:\xampp\mysql\backup\mysql\user.MYD
C:\xampp\mysql\backup\mysql\user.MYI
로.
C:\xampp\mysql\data\mysql\
그런 다음 XAMPP를 재시작하고 필요에 따라 사용자를 추가/삭제/편집합니다.
마지막 포인트:'user' 테이블과 'db' 테이블 사이에 어떤 연관성이 있는 것 같습니다.순서(7)에 따라서, 「db」테이블을 수복할 필요가 있는 경우가 있습니다.
bellow 명령어를 사용하면 당신은 지금처럼 행복할 것입니다.
repair table DATABASENAME.TABLENAME use_frm;
이 명령을 실행하기 전에 스토리지 기본 설정 및 백업에 따라 대소문자를 변경해야 한다는 것을 알고 계실 것입니다.:)
문제 #1034 - 테이블 'db'의 인덱스가 손상되었습니다.phmyadmin에서 복구해 보십시오.
스텝 1 다음 2개의 쿼리를 실행합니다.
REPAIR TABLE mysql.db
REPAIR TABLE mysql.user
손상된 테이블에 대해 다음 쿼리를 실행합니다.
REPAIR TABLE mysql.db
REPAIR TABLE mysql.user
순서:2 아래 이미지를 따릅니다. 파손된 테이블을 확인하고 [Repair table](수복 테이블)을 선택/클릭.
자세한 설명은 다음 링크를 참조하십시오.https://www.youtube.com/watch?v=gmDVopwfJMM&t=17s
그냥 사용하다
REPAIR TABLE mysql.user
가장 쉬운 방법
파손된 테이블을 확인하고 [Repair table](수복 테이블)을 선택/클릭.
이걸 시도해봐 효과가 있길 바래.
XAMPP 버전 7.3.16에서도 이 'bozo' 오류가 발생했기 때문에 가까운 시일 내에 업그레이드하지 않도록 하겠습니다.SQLYog를 사용하여 데이터베이스를 관리하고 있기 때문에 오류 --mysql.db에 나열된 특정 테이블을 복구할 수 있었습니다.이 명령줄 버전은 알 수 없지만 SQLYog에서 체크한 옵션의 스크린샷은 다음과 같습니다.
다음 두 가지 쿼리를 실행합니다.
CHECK TABLE `users`
그리고.
CHECK TABLE `db`
손상된 테이블에 대해 다음 쿼리를 실행합니다.
REPAIR TABLE `users`
및/또는
REPAIR TABLE `db`
root 사용자의 비밀번호를 변경한 후 1034에 문제가 발생하였습니다.phpMyAdmin 페이지 왼쪽 하단에 있는 콘솔에서 다음 사항을 문의했습니다.
복구 테이블 mysql.db
복구 테이블 mysql.user
mysql.user는 테이블이 아니라 뷰이기 때문에 복구할 수 없습니다.신경 쓰지 말고 mysql에 있는 다른 모든 테이블을 수정하세요.
이것으로 사용자 계정의 문제를 해결할 수 있었습니다.
repair table mysql.db use_frm
저는 다음 사항을 더하는 것이 효과적이었습니다.
skip-grant-tables
그러나 백업 폴더에서 데이터로 사용을 복원한 후 skip-grant-table을 다시 삭제하면 MySQL이 시작되지 않습니다.
MySQL my my my my my 。계속 빠져나갔어요.그래서 다른 사람들이 제안한 어떤 질문도 실행할 수 없었습니다.하지만, 제 해결책은 제게는 조금 더 쉬워 보였습니다.파일을 설치 수 , 는 3개의 DB에 .루트 설치 위치는 다를 수 있지만, 제 파일은 다음 위치에 있습니다.C:\xampp\mysql\backup\mysql
.
- db.frm
- db.MAD
- db.MAI
항상 먼저 파일을 백업하십시오. 이 파일을 .C:\xampp\mysql\data\mysql
.
이렇게 하면 MySQL을 오류 없이 완벽하게 시작할 수 있었습니다.
하고 mysql을 엽니다.
my.cnf
★★★★★★★★★★★★★★★★★」my.ini
후 " " 입니다.skip-grant-tables
원본(새로 고침) MySQL에서 사용자 테이블을 복사하십시오.
[path_data]\mysql\user.frm [path_data]\mysql\user.MYD [path_data]\mysql\user.MYI
다음으로 mysql_upgrade를 실행합니다.
$ mysql_secure_installation
그 후 지시에 따릅니다.
Laragon(Windows)에서 이 단계를 수행합니다.
mysql 데이터베이스를 선택하고 다음 명령을 실행합니다.됐다.수리대global_priv
Windows의 경우:
Xampp 폴더: Xampp-> mysql-> bin으로 이동합니다.
mysql_upgrade를 더블 클릭합니다.실행
그 후 브라우저를 새로 고칩니다(myadmin).
순서 1. XAMPP 설치 디렉토리에서 "\phpMyAdmin\libraries\" 를 찾습니다.
스텝 2. 위의 폴더에서 이 파일을 찾습니다.> " check _ user _ privileges . inc . php "
3단계. 선택한 코드 에디터에서 위의 파일을 열고 28번 줄을 찾습니다.
"$checkUserPrivileges->분석Show Grant(); "
4단계. 회선 번호 28을 삭제하고 대신 아래 코드를 추가합니다.
$GLOBALS['is_create_db_priv'] = true;
$GLOBALS['is_reload_priv'] = true;
$GLOBALS['db_to_create'] = '';
$GLOBALS['dbs_where_create_table_allowed'] = array('*');
$GLOBALS['dbs_to_test'] = false;
$GLOBALS['db_priv'] = true;
$GLOBALS['col_priv'] = true;
$GLOBALS['table_priv'] = true;
$GLOBALS['proc_priv'] = true;
스텝 5. 파일을 저장하고 XAMPP를 재시작합니다.
언급URL : https://stackoverflow.com/questions/58513174/how-do-i-repair-my-user-db-table-in-phpmyadmin-when-i-get-error-message-that-is
'programing' 카테고리의 다른 글
VUEX가 변환을 찾지 못했지만 정의되어 있습니다. (0) | 2022.11.06 |
---|---|
MySQL 오류 #1133 - 사용자 테이블에서 일치하는 행을 찾을 수 없습니다. (0) | 2022.11.04 |
PHP에서 이메일을 검증하는 방법 (0) | 2022.11.04 |
왜 java.util일까요?선택사항은 Serialable이 아닙니다. 이러한 필드를 사용하여 개체를 Serialize하는 방법 (0) | 2022.11.04 |
여러 OR 조건이 있는 ZF2 원칙 쿼리 (0) | 2022.11.04 |