MySQL 데이터베이스 백업 및 복원 스크립트

개발이야기

로컬 서버에서는 mysql 실행 시 접속에 대한 설정이 되어 있어야 한다.

만일, 설정이 되어 있지 않다면 mysql $1 부분을 mysql -h localhost -u’유저‘ -p’암호‘ $1 로 변경하여 사용한다.

외부 서버 에서 외부 서버로 데이터베이스를 이동 할 경우 위에 -h 에서 외부서버 정보를 입력하면 된다.

#!/bin/bash

# Check if a database name is provided
if [ -n "$1" ]; then
  # Create the specified database
  mysql -e "create database $1"

  # Perform MySQL dump and restore locally
  mysqldump -h _원본디비_ -u'_유저_' -p'_암호_' --routines --triggers --events --set-gtid-purged=OFF $1 | mysql $1

  # Display success message
  echo "Database: $1, Successfully dumped RDS to local"
fi

# Hide Error: > /dev/null 2>&1

# If no database name is provided, display usage information
if [ -z "$1" ]; then
  echo "Command: dump-db-to-db.sh database_name"
fi
./dump-db-to-db.sh database_name

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

This site uses Akismet to reduce spam. Learn how your comment data is processed.