linux:mysql數據庫備份


使用shell腳本進行數據庫的定時備份

1.首先確定需要備份的數據庫

    1>進入數據庫 輸入指令  mysql -uroot -p密碼

 

  2>查看mysql中有哪些數據庫

   輸入指令 show databases;

 

 

  3>我們這次選擇dysmysql數據庫進行備份

  4>查看數據庫中的數據

    首先使用數據庫  use dysmysql;

    然后查詢這個數據庫下的所有表  show tables;

  5>准備操作結束

2.編寫shell腳本

  1>在usr/sbin目錄下創建mysql_db_backup.sh 文件,使用vim編輯器打開

  2>寫入代碼

#!/bin/bash
# 1.備份目錄
BACKUP=/data/backup/db
# 當前時間
DATETIME=$(date +%Y-%m-%d_%H%M%S)
echo $DATETIME
# 數據庫的地址
HOST=localhost
# 數據庫的用戶名
DB_USER=root
#數據庫的密碼
DB_PW=root
#備份的數據庫名
DATABASE=dysmysql

#創建備份目錄 如果不存在就創建
[ ! -d "${BACKUP}/${DATETIME}" ] && mkdir -p "${BACKUP}/${DATETIME}"

# 備份數據庫
mysqldump -u${DB_USER} -p${DB_PW} --host=${HOST} -q -R --databases ${DATABASE} | gzip > ${BACKUP}/${DATETIME}/$DATETIME.sql.gz

# 將文件處理成 tar.gz
cd ${BACKUP}
tar -zcvf $DATETIME.tar.gz ${DATETIME}
# 刪除對應的備份目錄
rm -rf ${BACKUP}/${DATETIME}


# 刪除十天前的備份文件
find ${BACKUP} -atime +10 -name "*.tar.gz" -exec rm -rf {} \;
echo "備份數據庫${DATABASE} 成功"

  3>按esc鍵打出英文冒號,輸入wq保存並退出

  4>按esc鍵然后輸入英文冒號繼續輸入wq,保存並退出。

  5>執行該腳本  sh mysql_db_backup.sh

  6>編寫定時指令  

    輸入指令crontab -e

    編寫代碼

30 2 * * * /usr/sbin/mysql_db_backup.sh

此條代碼意思為每天兩點半執行該腳本  進行備份

  7>查看指令 crontab -l

3.查看備份內容是否正確

  1>切換到壓縮包目錄下

  2>解壓壓縮包  gunzip  2021-08-21_221458.sql.gz 

  3>發現數據已經正常備份

USE `dysmysql`;

--
-- Table structure for table `myorder`
--

DROP TABLE IF EXISTS `myorder`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `myorder` (
  `id` int DEFAULT NULL,
  `name` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `myorder`
--

LOCK TABLES `myorder` WRITE;
/*!40000 ALTER TABLE `myorder` DISABLE KEYS */;
INSERT INTO `myorder` VALUES (100,'dog');
/*!40000 ALTER TABLE `myorder` ENABLE KEYS */;
UNLOCK TABLES;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM