2017-12-28 52 views
0

이제 내 제목이 약간 퍼지 겠지만 설명해 보겠습니다.MAMP의 catch-22에있는 MySQL InnoDB

MAMP Pro를 사용하여 로컬로 WordPress 웹 사이트를 만들고 있습니다. 하지만 얼마 전에 오류가 발생했습니다 InnoDB: Unable to lock ./ibdata1, error: 35을 제거하면 ibdata1이 문제를 해결할 수 있다고 말했습니다. 그때 이후로 나는 MySQL을 사용하는데 약간의 문제가 있었다고 생각한다.

이제 다른 프로젝트에서 약간의 작업을 마친 후에이 문제가 다시 발생하므로 내 기억이 최고가 아닙니다. 나는 약 2 일 동안 온라인에서 나의 문제에 대해 다른 '해결책'을 시도했다.

  • mysql.innodb_index_stats
  • mysql.innodb_table_stats
  • mysql.slave_master_info
  • mysql.slave_relay_log_info
  • mysql.slave_worker_info

이 표는에있다 : 지금라는 데이터베이스 mysql에 5 개 개의 테이블에 내 문제를 집중했다 잡아 22처럼 보인다. 위의 아니오 755

  • 다시 설치 MAMP 프로 chmod를하는

    • 언급 경로의 /Applications/MAMP/db/mysql56/mysql
    • 권한 변경에서 .frm.ibd 파일을 제거 : 나는에 (시도 사이에 서버를 다시 시작하여) 여러 번에 시도 효과.
    • innodb_stats_persistent = 0my.cnf에 설정하려고했습니다.
    • 답변에 표시된대로 영향을받는 테이블을 다시 만드십시오 : https://dba.stackexchange.com/a/54624.

    그러나 이것은 까다로워집니다. 많은 게시물에 제안 된대로 표를 만들 때, 예를 들어 Tablespace for table 'mysql.innodb_index_stats' exists. Please DISCARD the tablespace before IMPORT.의 오류가 발생합니다. 그래서 나는 테이블 공간을 버리는 방법에 대한 조사를하고 ALTER TABLE mysql.innodb_index_stats DISCARD TABLESPACE;을 포함 해 많은 해답을 제시합니다. 이 날 또 다른 오류 : Table 'mysql.innodb_index_stats' doesn't exist 준다.

    내 catch 22가있는 곳입니다.

    이 문제를 해결하는 방법을 알고 계십니까?

    Sam이 언급 한대로 임시 이름으로 테이블을 성공적으로 만들려고했으나 https://forums.aws.amazon.com/thread.jspa?messageID=609156에 성공적으로 이름을 바꾼 후에 내 이름이 아닌 테이블 mysql.innodb_index_stats으로 이름을 바꿨습니다. 이 문제는 MySQL 5.5에서 예기치 않은 업그레이드로 묶여있을 수도 있습니다.

    이제는 관련 문제를 해결하기 위해 google에 관련된 모든 첫 페이지를 훑어 보았습니다. 나는 나와 같은 것을 언급하는 두 가지 다른 의견을 찾았지만 대답은 없다. 그래서 사람들이 그것을 찾을 수 있도록 좀 더 설명되고 헌신적 인 게시물로 앞으로 나옵니다. 내 게시물에서 무엇을 편집해야하는지 알려주세요. 여기 내 첫 번째 글입니다.

  • +0

    MySQL의 my.cnf 이외의 파일을 _any_하지 않고 재생하지 마십시오. 'ibdata1'을 삭제하면 모든 InnoDB 테이블이 파괴됩니다. 등 –

    +0

    그건 실수 였어. 어려운 길을 배웠다./ 이 @RickJames를 고칠 수있는 방법이 있니? DB mysysql의 새 인스턴스를 다운로드 할 수 있습니까? 아니면 여기에서 어떻게해야합니까? 답변 해 주셔서 감사합니다. – NipSauce

    +0

    죄송합니다, 귀하의 데이터가 사라진 것 같습니다. 이미 취한 약 3 가지 비참한 행동을 언급하셨습니다. 이 시점에서 제거하는 것조차 어려울 수 있습니다. –

    답변

    0

    나는 이제 내 문제를 해결했습니다. 내가 한 것은 MAMP PRO 폴더에 포함 된 제거 프로그램을 실행하는 것입니다. MAMP 폴더를 삭제 한 다음 휴지통 (디지털 하나)을 비우십시오. 그런 다음 MySQL이 5.6.38로 업데이트 된 4.3.0으로 최근에 업데이트 된 MAMP PRO의 새로운 설치를 다운로드했습니다. 이렇게하면 ibdata1과 앞에서 언급 한 모든 손상된 테이블을 포함한 신선한 mysql 데이터베이스가 제공되었지만 오류가 발생하지 않았습니다.

    도움이 필요한 사람에게 도움이 되었기를 바랍니다.