0

원래는 easyPHP (windows)를 사용하고 있었고 Mac으로 전환하여 MAMP를 사용했습니다. 내가 다시 포맷하기 전에 한 번씩 내 DB를 보관합니다. 내보내기는 phpMyAdmin의 루트로 이동하여 내보내기 기능을 사용하여 수행되었습니다. 이제 데이터를 가져 오려고합니다. "# 1044 - 사용자 'root'@ 'localhost'가 데이터베이스 'information_schema'에 액세스가 거부되었습니다." "# 1146 - 테이블 'test_db.COLLATION_CHARACTER_SET_APPLICABILITY'이 (가) 존재하지 않습니다."# 1146 - 테이블 'test_db.CHARACTER_SETS'이 (가) 존재하지 않습니다. "# 1146 - 테이블 'test_db.COLUMNS' 존재하지 않습니다 "및"# 1046 - 데이터베이스가 선택되지 않았습니다. "XAMP를 사용하여 mysql 가져 오기 문제가

MAMP를 가져오고 액세스 오류를 무시하고 DB를 이전 상태로 채우려면 어떻게합니까? 나는 오히려이 일을하는 응용 프로그램을 작성하지 않지만 만약 내가 libs 내가 SQL 덤프에서 SQL 문을 구문 분석하는 데 사용할 것이라고했다? 그것은 해석하기가 어렵지 않다. 세미콜론이 문장을 분리하는 것처럼 보입니다. 하지만 이스케이프 및 이스케이프 문제는 어떻게됩니까? 어떻게 처리해야합니까?

답변

2

첫 번째 오류는 설정에 문제가 있음을 나타냅니다. information_schema는 시스템의 다른 부분 (메타 데이터)에 대한 데이터를 유지하는 내부 DB입니다. MySQL 서버 (또는 MAMP 전체)를 다시 설치해야합니다. 모든

둘째 : 덤프 파일은 다음과 같이 MySQL의 명령 줄 클라이언트를 사용하여 가져올 수 있습니다 : 기억

mysql -p -u root test_db < dump.sql 

한 가지는 "test_db는"덤프를 복원 전에 작성해야한다는 것입니다 . 다른 가능한 문제는 덤프/복원이 다른 버전의 MySQL (예 : 5.0 vs 5.1)에 의해 수행된다는 것입니다. 이를 위해 mysql 명령 행에서 --force 명령을 시도해 실패한 실행을 건너 뛸 수 있지만, 이것이 데이터를 올바르게 복원하지 못할 수 있음을 알아 두십시오.