Linux環境mysql快速備份及遷移

       在項目實施的過程當中,常常會面臨數據庫遷移,導出和導出數據,若是用普通的mysql客戶端備份,時間較長且容易出錯。那麼mysql快速備份及遷移,就成爲數據庫遷移的重中之重。mysql

下面介紹我在項目實現過程當中用到的方法。sql

      1.爲了方便,這邊直接將須要執行的SQL語句寫成腳本dbbak.sh。腳本內容以下:       數據庫

#!/bin/sh
#bak dir
BACKUP_ROOT=備份路徑

BACKUP_FILEDIR=$BACKUP_ROOT

#current date
DATE=$(date +%Y%m%d)

###backup db
DB_NAME=dfdb
DB_USER="用戶名"
DB_PASS="密碼"
DB_HOST="IP地址"

cd /usr/local/mysql/bin
#DB_NAME=dbname
./mysqldump -h$DB_HOST -P12306 -u$DB_USER -p$DB_PASS --default-character-set=utf8 -q -B dbname | gzip > $BACKUP_FILEDIR/dbname-$DATE.sql.gz

2.備份數據庫,執行上述腳本文件,會生成 dbname-xxx.sql.zip 文件,便是備份好的數據庫文件服務器

3.下載備份好的 dbname-xxx.sql.zip 文件,上傳到新的服務器中,而後執行gzip -d  dbname-xxx.sql.zip  進行解壓spa

4.切換到mysql 的 路徑下, 好比  cd /usr/local/mysql/bin   而後 root 帳戶登陸  ./mysql -u root -p  到 mysql> 的狀態。code

5.查看全部的數據庫   show databases;(特別注意,若是遷移過來的數據的須要更改數據庫名稱,就要在第3步前修改備份文件裏的數據庫的名稱)blog

  若是有相同的數據庫名稱,須要先備份以前的數據庫,不然後面數據遷移的過程當中,會覆蓋掉以前的數據。ip

6.建立新的數據庫名稱: CREATE DATABASE dbname;class

7.切換到當前的數據庫 :use dbname;登錄

8.在mysql> 狀態 source  /mnt/dbname.sql  //替換爲上面解壓的數據庫文件實際路徑及文件名稱

至此數據庫備份遷移完畢!

相關文章
相關標籤/搜索