개발자가 되고 싶은 1人

mysql Database 및 Table dump, 복원 본문

프로그래밍/Database

mysql Database 및 Table dump, 복원

인생을 노트하자 2021. 11. 11. 15:00

mysql 뿐만 아니라 모든 데이터베이스는 현재 문제가 없이 잘 돌아가더라도 특정 주기 적으로 dump를 뜨는것은 매우 중요하다.

 

미래에 db서버에 디스크가 고장나이 나거나 어떤 일들이 발생할지 모르기 때문이다.

 

mysql에서는 데이터베이스 덤프, 테이블 덤프를 할 수 있으며

 

데이터베이스 덤프 같은 경우에는 명령어 옵션에 따라서 전체 데이터베이스 덤프, 단일 데이터 베이스 덤프를 진행할 수 있다.

 

1. 특정(단일) 데이터베이스 덤프 및 복원

 

▶  데이터베이스 덤프

mysqldump -u [사용자 계정] -p [원본 데이터베이스 명] > [덤프할 데이터베이스명].sql

ex)

[root@test-svr /]# mysqldump -u root -p testDb > test.sql
Enter password: [Db 접속 Password]

 

▶ 데이터베이스 복원

mysql -u [사용자 계정] -p [복원할 DB] < [덤프된 데이터베이스명].sql

ex)

[root@test-svr /]# mysql -u root -p testDb < test.sql
Enter password: [Db 접속 Password]

 

 

2. 전체 데이터베이스 덤프 및 복원

 

▶  데이터베이스 덤프

mysqldump -u [사용자 계정] -p --all -databases > [덤프할 파일명].sql

ex)

[root@test-svr /]# mysqldump -u root -p --all -databases > all_dump.sql
Enter password: [Db 접속 Password]

 

▶  데이터베이스 복원

mysql -u [사용자 계정] -p < [덤프된 파일명].sql

ex)

[root@test-svr /]# mysql -u root -p < all_dump.sql
Enter password: [Db 접속 Password]

 

 

3. 특정 데이터베이스의 테이블 덤프 및 복원

 

▶  테이블 덤프

mysqldump -u [사용자 계정] -p [데이터베이스명] [원본 덤프할 테이블명] > [덤프할 테이블명].sql

ex)

[root@test-svr /]# mysqldump -u root -p testDb testTable > table_dump.sql
Enter password: [Db 접속 Password]

 

▶  테이블 복원

mysql -u [사용자 계정] -p [데이터베이스명] < [덤프된 테이블명].sql

ex)

[root@test-svr /]# mysql -u root -p testDb < table_dump.sql
Enter password: [Db 접속 Password]
Comments