MySQL 파워셀 이용한 MySqlDump
MySQL 파워셀에서 접속
cd “C:\MySQL\MySQL Server 5.5\bin”
PS C:\mysql\mysql5.7.26\bin> ./mysql -h localhost -P 3306 –u root –p
cd C:\wamp64\bin\mysql\mysql5.7.26\bin
./mysql -h 127.0.0.1 -P 3306 -u root –p : 비번 별도로 입력 –p 뒤에 값을 데이터베이스로 인식함
안돼는 경우 :
./mysql.exe –h localhost -P 3306 –u root –p ####
./mysql –h localhost -P 3306 –uroot –p####
./mysql –h localhost -P 3306 –u root –p ####
>>테스트서버
cd "C:\MySQL\MySQL Server 5.5\bin"
./mysql -h 127.0.0.1 -P 3306 -u root -p
####
>>mysqldump : 웹 참조 ㅡㅡ'
1. 덤프뜨기
$> mysqldump -u[사용자아이디] -p 데이터베이스명 [테이블명] > 저장될 파일명
디비(mydatabase)를 몽땅 덤프 :
예) mysqldump -ukamkami -p mydatabase > kamkami.pe.kr.sql
테이블만 덤프 :
예) mysqldump -ukamkami -p mydatabase member_table > kamkami.pe.kr.member_table.sql
2. 복구하기
$> mysql -u[사용자아이디] -p [디비명] < 덤프파일명
예) mysql -ukamkami -p < kamkami.pe.kr.sql
예) mysql -ukamkami -p mydatabase < kamkami.pe.kr.member_table.sql
3.특정 db의 특정 table에서 원하는 값만 덤프받기
>> edu라는 디비에 a,b,c라는 테이블이 있다. 여기서 a라는 테이블에서 no가 7번이상이고 10번
이하인 값만 덤프를 받고자 한다. 어떻게 하겠는가?
mysqldump -u mysql_admin -p edu a -w'no=>7 and no=<10' > edu_a_cond.sql
위와같이 하면 no가 7~10번까지가 덤프될것이다.
위에서 조건문은 -w 다음에 싱글쿼테이션으로 묶어준다. sql에서 사용하는 조건문이 다 될듯싶다.
4.디비 스키마(Schema)만 백업받기
mysqldump -u mysql_admin -p -d edu > edu_db.sql
edu라는 디비의 a라는 테이블 스키마를 백업받으려면
mysqldump -u mysql_admin -p -d edu a> edu_a_table.sql