본문 바로가기
MySql

MySQL mysqldump는 덤프 중간에 "drop database"문을 삽입합니다.

by 베이스 공부 2021. 1. 4.
반응형

mysqldump를 사용하여 시스템에서 데이터베이스를 덤프하고 있습니다. 문제는 다음과 같습니다. 때때로 SQL 파일의 중간에 "데이터베이스 삭제"가 포함되어 있습니다. 불행히도 이러한 파일 가져 오기가 실패합니다. 제 눈에는 상당히 논리적입니다.

mysqldump 명령 줄은 다음과 같습니다.

mysqldump -u$USER -p$PASS \
 --default-character-set=utf8 --single-transaction \
 --add-drop-database --add-drop-table \
 --databases $DB

이 SQL 파일을 다시 가져 오려고하면 다음 오류가 발생합니다. ERROR 1146 (42S02) at line 3486 : Table 'meta.tx_baauftragsdb_auft'does n't exist .

SQL 덤프 파일을 보면 다음 줄이 있습니다.

3470 --
3471 -- Current Database: `meta`
3472 --
3473
3474 /*!40000 DROP DATABASE IF EXISTS `meta`*/;
3475
3476 CREATE DATABASE /*!32312 IF NOT EXISTS*/ `meta` /*!40100 DEFAULT CHARACTER SET utf8 */;
3477
3478 USE `meta`;
3479
3480 --
3481 -- View structure for view `tx_baauftragsdb_view_ueber`
3482 --
3483
3484 /*!50001 DROP TABLE IF EXISTS `tx_baauftragsdb_view_ueber`*/;
3485 /*!50001 DROP VIEW IF EXISTS `tx_baauftragsdb_view_ueber`*/;
3486 /*!50001 CREATE ALGORITHM=UNDEFINED DEFINER=`meta`@`localhost` SQL SECURITY 

... 그리고 DROP DATABASE 문이 있습니다. 이 명령문 아래의 모든 것을 삭제하면 db 가져 오기가 잘되지만 ... 음 ... 여기서 무슨 일이 일어나는지 알고 싶습니다.

아무도 여기서 무슨 일이 일어나고 있는지, 왜이 추가 DROP DATABASE 문이 있는지, 그리고 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까?

 

해결 방법

 


업그레이드 권장 :)

 

참조 페이지 https://stackoverflow.com/questions/16080611

 

 

반응형

댓글