Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

mysqldump 클라이언트 프로그램으로 단일 데이터베이스 백업하는 방법

mysqldump 클라이언트 프로그램을 사용하면 데이터베이스 전체를 .sql 확장자를 가진 백업 파일로 손쉽게 저장할 수 있습니다. 아래 예제를 통해 구체적인 사용 방법을 살펴보겠습니다.

예제

이번 예제에서는 mysqldump 클라이언트 프로그램을 활용하여 'tutorials'라는 이름의 데이터베이스를 'tutorials.sql'이라는 파일로 백업해 보겠습니다. 다음 명령어를 실행하면 됩니다.

C:\mysql\bin>mysqldump -u root tutorials > tutorials.sql

위 명령어를 실행하면 MySQL이 설치된 bin 폴더 안에 'tutorials.sql' 파일이 생성됩니다. 이 파일에는 tutorials 데이터베이스에 포함된 모든 테이블에 대한 DROP TABLE, CREATE TABLE, INSERT 문이 순서대로 기록되어 있어, 필요할 때 그대로 복원할 수 있습니다.

다음은 생성된 tutorials.sql 파일 중 'rtgs' 테이블의 덤프 정보를 보여주는 출력 결과의 일부입니다.

--
-- Table structure for table `rtgs`
--
DROP TABLE IF EXISTS `rtgs`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `rtgs` (
    `id` int(11) DEFAULT NULL,
    `name` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `rtgs`
--

LOCK TABLES `rtgs` WRITE;
/*!40000 ALTER TABLE `rtgs` DISABLE KEYS */;
INSERT INTO `rtgs` VALUES (1,'Ram'),(2,'Shyam');
/*!40000 ALTER TABLE `rtgs` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

출력 결과에서 볼 수 있듯이, 덤프 파일에는 테이블 구조 정의와 함께 실제 데이터를 삽입하는 INSERT 문까지 모두 포함됩니다. 또한 문자셋, 시간대, 외래 키 검사 등 세션 환경 설정을 저장하고 복원하는 주석 처리된 명령문들도 함께 들어 있어, 백업 파일을 다시 실행하기만 하면 원래 상태 그대로 데이터베이스를 복구할 수 있습니다.