国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

利用mysqldump實現(xiàn)分庫分表備份的shell腳本

這篇具有很好參考價值的文章主要介紹了利用mysqldump實現(xiàn)分庫分表備份的shell腳本。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、信息摘要

linux版本:CentOS 7.9

mysql版本:MySQL 5.7.36

腳本實現(xiàn)功能:利用mysqldump工具實現(xiàn)對mysql中的數(shù)據(jù)庫分庫備份,和對所備份數(shù)據(jù)庫中的表分表備份

二、shell腳本

#!/bin/bash
#########################
#File name:mysqlbak.sh
#Version:v1.0
#Email:peng779016@163.com
#Created time:2023-07-26 14:21:05
#Description:
#########################

#定義變量
bak_user='root'
bak_password='123456'
bak_cmd="-u${bak_user} -p${bak_password}"
exclude_db="information_schema|mysql|performance_schema|sys"
bak_dir=/backup/db

#分庫備份
[ -d ${bak_dir} ] || mkdir -p ${bak_dir}
mysql ${bak_cmd} -e "show databases" -N 2>/dev/null | egrep -v "${exclude_db}" > dbtmp
while read db
do
  mysqldump ${bak_cmd} --set-gtid-purged=off -B $db 2>/dev/null | gzip > ${bak_dir}/`date +%F`-$db.sql.gz
  if [ $? -eq 0 ]
  then
    echo "database $db is being backed up ... success!"
  else
    echo "database $db is being backed up ... failure!"
  fi
  #分表備份
  [ -d ${bak_dir}/$db ] || mkdir -p ${bak_dir}/$db
  mysql ${bak_cmd} -N -e "use $db;show tables" 2>/dev/null > tbtmp
  while read tb
  do
    mysqldump ${bak_cmd} --set-gtid-purged=off $db $tb 2>/dev/null | gzip > ${bak_dir}/$db/`date +%F`-$db-$tb.spl.gz
    if [ $? -eq 0 ]
    then
      echo "table $tb is being backed up ... success!"
    else
      echo "table $tb is being backed up ... failure!"
    fi
  done < tbtmp
done < dbtmp
#刪除臨時文件
rm -rf dbtmp
rm -rf tbtmp

三、腳本描述

1)定義變量

定義了備份用戶、備份用戶密碼、備份參數(shù)命令(簡化代碼)、不需要備份的數(shù)據(jù)庫、備份目錄這些變量。

2)分庫備份

  1. 首先檢查備份目錄是否存在,不存在則創(chuàng)建。
  2. 然后提取出將要備份的數(shù)據(jù)庫名到臨時文件dbtmp中。
  3. while循環(huán)讀取臨時文件dbtmp中的行數(shù)據(jù),用mysqldump命令壓縮備份每個數(shù)據(jù)庫并在備份目錄下產(chǎn)生數(shù)據(jù)庫備份文件。
  4. 輸出備份結(jié)果信息。

3)分表備份

  1. 首先檢查備份目錄下是否存在以數(shù)據(jù)庫為名的目錄,不存在則創(chuàng)建。
  2. 然后提取出每次循環(huán)數(shù)據(jù)庫中的每個表名到臨時文件tbtmp中。
  3. 嵌套while循環(huán)讀取臨時文件tbtmp中的行數(shù)據(jù),用mysqldump命令壓縮備份每個表并在備份目錄/數(shù)據(jù)庫名/目錄下生成表備份文件。
  4. 輸出備份結(jié)果信息。

4)刪除臨時文件

最后刪除臨時文件。

四、腳本功能測試

1)執(zhí)行shell腳本,分庫分表備份mysql數(shù)據(jù)庫,執(zhí)行結(jié)果如下:

利用mysqldump實現(xiàn)分庫分表備份的shell腳本,數(shù)據(jù)庫,mysql,mysqldump,shell,linux

利用mysqldump實現(xiàn)分庫分表備份的shell腳本,數(shù)據(jù)庫,mysql,mysqldump,shell,linux

?2)測試備份文件的可用性

利用mysqldump實現(xiàn)分庫分表備份的shell腳本,數(shù)據(jù)庫,mysql,mysqldump,shell,linux

數(shù)據(jù)庫備份文件正常。

利用mysqldump實現(xiàn)分庫分表備份的shell腳本,數(shù)據(jù)庫,mysql,mysqldump,shell,linux

表備份文件正常。

該腳本功能正??捎谩?span toymoban-style="hidden">文章來源地址http://www.zghlxwxcb.cn/news/detail-608708.html

到了這里,關(guān)于利用mysqldump實現(xiàn)分庫分表備份的shell腳本的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Shell腳本實現(xiàn)分庫分表操作

    Shell腳本實現(xiàn)分庫分表操作

    目錄 一,分庫備份 二,分庫操作 三,分庫分表備份 四,備份還原 ? ?

    2024年02月14日
    瀏覽(21)
  • 運維高級--shell腳本完成分庫分表

    運維高級--shell腳本完成分庫分表

    ?????隨著系統(tǒng)的運行,存儲的數(shù)據(jù)量會越來越大,系統(tǒng)的訪問的壓力也會隨之增大,如果一個庫中的表數(shù)據(jù)超過了一定的數(shù)量,比如說MySQL中的表數(shù)據(jù)達到千萬級別,就需要考慮進行分庫分表; ?????其次隨著表數(shù)據(jù)的不斷增大,會發(fā)現(xiàn)查詢也隨著變得緩慢,如果添加索

    2024年02月15日
    瀏覽(31)
  • MySQL數(shù)據(jù)庫分庫分表備份

    分庫備份 創(chuàng)建腳本并編寫 [root@localhost scripts]# vim bak_db_v1.sh #!/bin/bash 備份的路徑 bak_path=/backup/db 賬號密碼 mysql_cmd=\\\'-uroot -pRedHat@123\\\' 需要排除的數(shù)據(jù)庫 exclude_db=\\\'information_schema|mysql|performance_schema|sys\\\' 檢驗備份路徑是否存在,不存在則創(chuàng)建 [ -d ${bak_path} ] || mkdir -p ${bak_path} 提取需要

    2024年02月14日
    瀏覽(36)
  • MySQL 實現(xiàn)分庫和分表的備份 2023.7.29
  • 在Centos7中利用Shell腳本:實現(xiàn)MySQL的數(shù)據(jù)備份

    在Centos7中利用Shell腳本:實現(xiàn)MySQL的數(shù)據(jù)備份

    目錄 自動化備份MySQL 一.備份數(shù)據(jù)庫腳本 1.創(chuàng)建備份目錄 ??2.創(chuàng)建腳本文件 3.新建配置文件(連接數(shù)據(jù)庫的配置文件) 4.給文件權(quán)限(mysql_backup.sh) ? ? ??編輯 ? ? ? ? ??5.執(zhí)行命令?(mysql_backup.sh)? ? ? ? ?編輯? ? ? ? 二.數(shù)據(jù)庫通過備份恢復(fù)? ? 1.創(chuàng)建腳本文件 2.增加文件

    2024年02月03日
    瀏覽(18)
  • Linux之實現(xiàn)Apache服務(wù)器監(jiān)控、數(shù)據(jù)庫定時備份及通過使用Shell腳本發(fā)送郵件

    Linux之實現(xiàn)Apache服務(wù)器監(jiān)控、數(shù)據(jù)庫定時備份及通過使用Shell腳本發(fā)送郵件

    目錄 ?一、Apache服務(wù)器監(jiān)控 為什么要用到服務(wù)監(jiān)控? 實現(xiàn)Apache服務(wù)器監(jiān)控 二、數(shù)據(jù)庫備份 為什么要用到數(shù)據(jù)庫備份? 實現(xiàn)數(shù)據(jù)庫備份 三、Shell腳本發(fā)送郵件 為什么要用使用Shell腳本發(fā)送郵件? 實現(xiàn)Shell腳本發(fā)送郵件 在Linux中監(jiān)控Apache服務(wù)器是非常重要的,原因如下: 保證

    2024年04月15日
    瀏覽(50)
  • shell腳本備份數(shù)據(jù)庫

    shell腳本備份數(shù)據(jù)庫

    打開mysql的bin目錄,然后在地址欄cmd,進入cmd界面,輸入mysqldump命令,-u輸入用戶名,-p輸入密碼 還有數(shù)據(jù)庫名稱,以及后面要保存到的位置 檢查centos是否自帶數(shù)據(jù)庫: 卸載centos下已安裝數(shù)據(jù)庫: 進入指定目錄: 下載mysql8 之后通過xz和tar命令解壓壓縮文件: 將/usr/local/src下的

    2024年02月16日
    瀏覽(22)
  • shell腳本-MySQL數(shù)據(jù)庫備份

    確保mysql服務(wù)啟動 可以通過mysqldump命令來備份數(shù)據(jù)庫 1.mysqldump 命令語法: 使用 mysqldump 命令備份一個數(shù)據(jù)庫的語法格式如下: 使用 mysqldump 命令備份一個數(shù)據(jù)庫中表的語法格式如下: 2.參數(shù): 實例: 先確保數(shù)據(jù)庫服務(wù)啟動的情況下,創(chuàng)建shell腳本

    2024年02月16日
    瀏覽(23)
  • 掌握MySQL分庫分表(一)數(shù)據(jù)庫性能優(yōu)化思路、分庫分表優(yōu)缺點

    不能?上來就說分庫分表! 根據(jù)實際情況分析,兩個角度思考:不分庫分表、分庫分表 軟優(yōu)化 數(shù)據(jù)庫參數(shù)調(diào)優(yōu) 分析慢查詢SQL語句,分析執(zhí)行計劃,進行sql改寫和程序改寫 優(yōu)化數(shù)據(jù)庫索引結(jié)構(gòu) 優(yōu)化數(shù)據(jù)表結(jié)構(gòu)優(yōu)化 引入NOSQL和程序架構(gòu)調(diào)整 硬優(yōu)化 提升系統(tǒng)硬件(更快的IO、更

    2023年04月19日
    瀏覽(36)
  • 數(shù)據(jù)庫-分庫分表初探

    數(shù)據(jù)庫-分庫分表初探

    數(shù)據(jù)量在百萬以里,可以通過Tina集從庫、優(yōu)化索引等提升性能 數(shù)據(jù)量超過千萬,為了減少數(shù)據(jù)庫的負擔(dān),提升數(shù)據(jù)庫響應(yīng)速度,縮短查詢時間,需要進行分庫分表 推薦:采用垂直分庫水平分表 總結(jié):分庫要解決的是硬件資源的問題,不管是拆分字段,還是拆分數(shù)據(jù),都是要

    2024年01月25日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包