1
일부 테이블을 제외하고 모든 테이블을 삭제하려고합니다. 나는 다음과 같은 명령을 사용하고 있습니다 :특정 테이블을 제외한 모든 테이블을 삭제하십시오.
mysqldump -uroot -pxxx --add-drop-table --no-data database | grep ^DROP | grep -v "^(cache|webform|redirect)([_a-z0-9]?)+$" | mysql -uroot -pxxx database
정규식 내가 건너 뛰려는 테이블이 캐시 *, 웹 양식 * 한, 리디렉션,이 http://www.regexr.com/3aa8k에 따라 잘 될 것 같다. 그러나 문제는 그것이 모든 것을 버린다는 것이다.
마지막'mysql' 명령을 앞에있는 파이프와 함께 제거하면'grep'으로 필터링 된 내용을 볼 수 있습니다. 어떤 이유로'grep'은'| '문자를 이스케이프 처리해야합니다. 또한'(',')'와'+'를 당신이 예상하는 것과 다르게 해석 할 수도 있습니다. 어쩌면 당신은'regex'를 단순화 할 수 있습니다. – axiac