Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- webpack
- nodejs
- Backbone.js
- NCP
- php
- Babel
- laravel
- fastapi
- python
- For
- phpredis
- javascript
- docker
- rabbitmq
- nginx
- Redux
- Machine Learning
- Node
- 기초 수학
- linux
- Go
- 블레이드 템플릿
- mariadb
- AWS
- SQL
- Redis
- CentOS
- Switch
- deep learning
- React
Archives
- Today
- Total
개발일기
Linux - Mariadb 백업(export) 및 복원(import) 본문
728x90
반응형
서버를 운영하다보면 다른 서버의 DB내용을 가져오거나 서버에 문제가 발생하여 DB의 내용에 오류가 발생하는 등의 문제가 발생할 수 있다. 만약의 일을 대비하여 DB의 내용을 백업 및 복원하여 데이터를 보관하고 있을 경우, 위의 경우에 대해 발빠르게 대처할 수 있다.
1. 특정 데이터베이스 백업
mysqldump -u [사용자 아이디] -p [데이터 베이스 이름] > [백업 결과 파일명]
특정 DB의 내용을 백업하여 저장하고자 할 경우, 위와 같이 터미널 창에 입력하면 된다.
mysqldump -u root -p test_db > /workspace/test.sql
root사용자의 test_db 데이터베이스 데이터들을 /workspace/test.sql로 백업(export)한다는 것을 뜻한다. 위와 같이 입력하면 비밀번호를 입력하라는 터미널 문구가 나타나게 된다. 올바르게 입력한 경우, 해당 경로에 백업된 sql파일이 생성된다.
2. 전체 데이터베이스 백업
mysqldump -u root -p --all-databases > /workspace/all.sql
전체 데이터베이스를 백업하기 위해서는 데이터베이스 이름을 지정했던 부분에 --all-databases로 대체해주면 된다.
3. 데이터베이스 복원
mysql -u [사용자 아이디] -p [데이터 베이스 이름] < [sql파일이 존재하는 경로]
백업된 sql파일을 현재 서버의 db에 복원시키기 위해서는 위와같은 명령어를 터미널에 입력해주면 된다.
mysql -u root -p test_db < /workspace/test.sql
root사용자의 test_db 데이터베이스에 /workspace/test.sql파일의 내용을 복원(import)한다는 것을 뜻한다.
4. 전체 데이터베이스 복원
mysql -u root -p --all-databaes < /workspace/all.sql
전체 데이터베이스를 복원하기 위해서는 데이터베이스 이름을 지정했던 부분에 --all-databases로 대체해주면 된다.
5. 주의점
- DB를 백업(export)할 때는 > 부호를 사용한다.
- DB를 복원(import)할 때는 < 부호를 사용한다.
참고 사이트 :
https://stackoverflow.com/questions/7423654/export-dump-file-from-mysql
728x90
반응형
'Linux' 카테고리의 다른 글
Linux - shell script permission denied (0) | 2024.07.03 |
---|---|
Linux - 계정 비밀번호 변경 (0) | 2023.09.09 |
Linux - find와 grep 명령어 (0) | 2023.01.28 |
Linux - crontab 명령어 (0) | 2022.08.13 |
Linux - 사용자 관련 명령어 및 옵션 (0) | 2022.02.20 |
Comments