네, 맞습니다. 기존의 데이터를 새로 복구하려면 다음과 같은 순서로 진행하면 됩니다.
1. 기존 테이블 삭제
기존 데이터를 제거하기 위해 DROP TABLE 명령을 사용하여 테이블을 삭제합니다.
DROP TABLE IF EXISTS picuploads;
DROP TABLE IF EXISTS fileuploads;
2. 데이터 복구
MySQL의 가져오기 기능으로 백업 파일을 사용해 데이터를 복구합니다.
복구 방법:
- 백업 파일 준비: 이전에 내보낸 SQL 파일이 있어야 합니다. 보통 .sql 파일 형식입니다.
- MySQL 클라이언트에서 가져오기:예:
- mysql -u root -p mydatabase < backup.sql
- mysql -u [username] -p [database_name] < [backup_file.sql]
- phpMyAdmin을 사용하는 경우:
- phpMyAdmin에 로그인합니다.
- 대상 데이터베이스 선택.
- 상단의 가져오기 탭을 클릭합니다.
- 백업 파일을 선택한 후 가져오기 작업을 진행합니다.
주의 사항
- 기존 테이블 삭제 여부 확인: 복구 작업 전에 DROP TABLE이 포함된 백업 파일인지 확인하세요. 포함되지 않았다면 수동으로 기존 테이블을 삭제해야 합니다.
- 데이터베이스 선택: 백업 파일에 테이블 생성 및 데이터 삽입 명령이 올바른 데이터베이스를 참조하고 있는지 확인하세요.
- 외부 키 제약 조건: 외부 키 관계가 있는 테이블은 순서에 따라 복구해야 할 수 있습니다.
위 단계를 따르면 picuploads와 fileuploads 테이블을 원래 상태로 복구할 수 있습니다. 문제가 발생하면 알려주세요!
질문)
phpMyAdmin을 사용하는 경우:
phpMyAdmin에 로그인합니다. 대상 데이터베이스 선택. 상단의 가져오기 탭을 클릭합니다. 백업 파일을 선택한 후 가져오기 작업을 진행합니다.
위의 방식에서 해당 테이블만 가져올려면 어떤 옵션을 써야 하나?
네, 아주 좋은 방법입니다. Notepad++ 또는 다른 텍스트 편집기를 사용해 .sql 파일을 열고 특정 테이블에 해당하는 부분만 추출해 별도의 파일로 저장하는 방식은 간단하고 효과적입니다. 아래는 구체적인 절차입니다.
1. .sql 파일 열기
- Notepad++에서 백업된 .sql 파일을 엽니다.
- 해당 테이블의 CREATE TABLE과 INSERT INTO 문을 찾아 복사합니다.
2. 필요한 테이블 데이터 추출
- 테이블 이름이 picuploads와 fileuploads라고 가정합니다.
- CREATE TABLE과 INSERT INTO 관련 부분만 선택합니다.
예시:
-- 테이블 생성 명령
CREATE TABLE `picuploads` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`filename` varchar(255) DEFAULT NULL,
`uploaded_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 데이터 삽입 명령
INSERT INTO `picuploads` VALUES
(1, 'example1.jpg', '2024-11-22 10:00:00'),
(2, 'example2.jpg', '2024-11-22 11:00:00');
-- 테이블 생성 명령
CREATE TABLE `fileuploads` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`file` varchar(255) DEFAULT NULL,
`upload_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 데이터 삽입 명령
INSERT INTO `fileuploads` VALUES
(1, 'document1.pdf', '2024-11-22 10:30:00'),
(2, 'document2.pdf', '2024-11-22 11:30:00');
3. 새로운 파일로 저장
- 위에서 복사한 내용을 새로운 파일(new.sql)로 저장합니다.
- 파일 이름: new.sql
- 파일 인코딩: UTF-8 (권장)
- 저장된 파일은 특정 테이블의 데이터를 포함하므로 가져오기 작업에 사용됩니다.
4. phpMyAdmin에서 가져오기
- phpMyAdmin에 로그인.
- 대상 데이터베이스 선택.
- 가져오기 탭 클릭.
- 새로 만든 new.sql 파일을 선택 후 가져오기 실행.
장점
- 필요 없는 데이터를 제거하고, 파일 크기를 줄일 수 있어 가져오기 속도가 빨라집니다.
- 특정 테이블만 복구할 수 있어 불필요한 작업을 줄일 수 있습니다.
- .sql 파일 편집만으로 작업을 수행하므로 별도의 툴 없이 간단히 해결할 수 있습니다.
반응형