最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql定時(shí)數(shù)據(jù)庫備份實(shí)現(xiàn)的保姆級(jí)教程

 更新時(shí)間:2024年12月13日 08:33:16   作者:拙野  
數(shù)據(jù)備份本身主要是為了預(yù)防一些意外,例如服務(wù)器或者個(gè)人電腦的硬件故障、人為的錯(cuò)誤操作等情況,這篇文章主要給大家介紹了Mysql定時(shí)數(shù)據(jù)庫備份實(shí)現(xiàn)的保姆級(jí)教程,需要的朋友可以參考下

MySQL 是一種全球廣泛使用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它存儲(chǔ)的數(shù)據(jù)不僅非常寶貴,而且往往無法替代。因此,確保這些重要數(shù)據(jù)的安全至關(guān)重要,定期進(jìn)行備份就顯得尤為重要。為了進(jìn)一步增強(qiáng)數(shù)據(jù)的安全性,我們建議采用跨服務(wù)器備份策略,即將數(shù)據(jù)備份到不同的物理或虛擬服務(wù)器上。這樣做可以作為一個(gè)額外的安全保障,有效防止因單點(diǎn)故障而導(dǎo)致的數(shù)據(jù)丟失風(fēng)險(xiǎn)。簡(jiǎn)單來說,就是把重要文件同時(shí)保存在幾個(gè)不同的地方,這樣即使一個(gè)地方出了問題,其他地方還有備份,從而更好地保護(hù)我們的資料安全。

一、需要解決的問題

想要實(shí)現(xiàn)mysql數(shù)據(jù)跨服務(wù)器備份,需要先解決如下問題:

1、如何傳輸文件?

     在Linux系統(tǒng)中,我們可以利用scp命令來實(shí)現(xiàn)文件和目錄的安全傳輸。scp是“secure copy”的縮寫,它基于SSH協(xié)議,能夠在遠(yuǎn)程服務(wù)器之間提供加密的文件拷貝服務(wù),確保數(shù)據(jù)傳輸?shù)陌踩?。?jiǎn)易語法如下:

scp file_source file_target 

此處,我們是從本地復(fù)制文件到遠(yuǎn)程,所以,大概命令就如下:

 scp /opt/backup/mysql/database.sql root@12.17.11.170:/opt/backup/mysql  

上面命令的意思就是將本地文件/opt/backup/mysql/database.sql復(fù)制到12.17.11.170服務(wù)器的/opt/backup/mysql目錄下。所以,執(zhí)行這個(gè)命令之前,要保證本地對(duì)應(yīng)目錄和文件都存在。12.17.11.170服務(wù)器上的對(duì)應(yīng)目錄也應(yīng)該存在。

2、如何備份數(shù)據(jù)庫?

    備份數(shù)據(jù)庫我們使用mysql自帶的備份命令mysqldump即可?;菊Z法如下:

mysqldump -h [IP]  -u[mysql用戶] -p[mysql密碼]  [數(shù)據(jù)庫]  >腳本名

3、如何建立一個(gè)定時(shí)任務(wù)?

     我們可以利用Linux系統(tǒng)的crontab定時(shí)任務(wù),去實(shí)現(xiàn)固定時(shí)間自動(dòng)執(zhí)行腳本?;菊Z法如下:

[定時(shí)頻率表達(dá)式]  sh  [sh腳本文件]

上述問題,解決后,我們就不難得出實(shí)施的步驟。 

二、實(shí)施步驟

1、建立SSH公鑰,實(shí)現(xiàn)無密碼登錄

我們使用scp命令傳輸文件的時(shí)候,是需要輸入對(duì)方服務(wù)器的密碼的。這里,我們?yōu)榱瞬皇褂妹艽a登錄,來采取建立公鑰的方式,達(dá)到免登錄的效果。

1)服務(wù)器A上添加ssh公匙

ssh-keygen -t rsa

直接按回車建默認(rèn)目錄生成即可。如果再提示已經(jīng)生成過shh公鑰,則取消,去/root/.ssh目錄下查看即可。 產(chǎn)生如下兩個(gè)文件:

 2)將id_rsa.pub文件拷貝到服務(wù)器B的/root/.ssh目錄下,并命名authorized_keys,如果B服務(wù)器已經(jīng)有authorized_keys文件,就直接將id_rsa.pub文件內(nèi)容直接拷貝到authorized_keys中即可。

2、編寫備份數(shù)據(jù)庫腳本 

1)、創(chuàng)建如下sh腳本文件backupsql.sh

#!/bin/bash
#備份路徑
BACKUP=/opt/backup/mysql
#當(dāng)前時(shí)間
DATETIME=$(date +%Y-%m-%d)
echo "===備份開始==="
echo "備份文件存放于${BACKUP}/$DATABASE-$DATETIME.sql"
#數(shù)據(jù)庫地址
HOST=localhost
#數(shù)據(jù)庫用戶名
DB_USER=root
#數(shù)據(jù)庫密碼
DB_PW=zhuoye521
#創(chuàng)建備份目錄
#[ ! -d "${BACKUP}/$DATETIME" ] && mkdir -p "${BACKUP}/$DATETIME"

#后臺(tái)系統(tǒng)數(shù)據(jù)庫
DATABASE=zhuoye
echo $DATABASE-$DATETIME
#mysqldump -u${DB_USER} -p${DB_PW} --single-transaction --host=$HOST -q -R --databases $DATABASE | gzip > ${BACKUP}/$DATETIME/$DATABASE.sql
mysqldump -h localhost  -u${DB_USER} -p${DB_PW}  ${DATABASE} >${BACKUP}/$DATABASE-$DATETIME.sql

echo "===導(dǎo)出成功,開始傳輸==="
#壓縮成tar.gz包
cd $BACKUP
#tar -zcvf $DATETIME.tar.gz $DATETIME
#備份到服務(wù)器B
scp $DATABASE-$DATETIME.sql root@12.17.11.170:/opt/backup/mysql
#刪除備份目錄
#rm -rf ${BACKUP}/$DATETIME

#刪除10天前備份的數(shù)據(jù),這邊可以自行更改
#find $BACKUP -mtime +10 -name "*.sql" -exec rm -rf {} \;
echo "===數(shù)據(jù)庫備份到服務(wù)器成功==="

注意:要保證A、B服務(wù)器上都已經(jīng)有/opt/backup/mysql這個(gè)目錄。

腳本賦權(quán):

chmod 775 backupsql.sh 

  2)、執(zhí)行腳本文件可以在B服務(wù)器上/opt/backup/mysql成功出現(xiàn)sql腳本,即腳本無問題。

         這一步手動(dòng)執(zhí)行不僅是驗(yàn)證你的腳本是不是能夠正確產(chǎn)生并傳輸?shù)紹服務(wù)器的指定目錄,還因?yàn)槭状螆?zhí)行的時(shí)候會(huì)需要手動(dòng)確認(rèn)一次。如下圖,輸入yes即可:

如果你不手動(dòng)執(zhí)行一次,可能導(dǎo)致定時(shí)任務(wù)每次執(zhí)行的時(shí)候都會(huì)卡到這個(gè)需要確認(rèn)是否繼續(xù)的步驟。 

注意:細(xì)心點(diǎn)你會(huì)發(fā)現(xiàn)navicate導(dǎo)出的sql腳本要比我們使用mysqldump導(dǎo)出的腳本要大,這并不是因?yàn)槟愕臄?shù)據(jù)缺失了,而是使用mysqldump導(dǎo)出的sql文件中會(huì)把盡可能多的數(shù)據(jù)放到一條“insert”語句中,而navicat導(dǎo)出的sql文件每條“insert”語句只對(duì)應(yīng)一條數(shù)據(jù)。這也就是,使用mysqldump導(dǎo)出的備份腳本,在執(zhí)行的時(shí)候速度更快的原因。 

3、編寫定時(shí)任務(wù)

1)、編輯定時(shí)任務(wù)文件

crontab -e 

2)、輸入如下內(nèi)容,后保存退出

#表示每天23:59自動(dòng)執(zhí)行代碼。需要注意的是前面是分鐘,后面是小時(shí)

59 23 * * * sh /opt/backup/mysql/backupsql.sh   

3)、重啟服務(wù) 

service crond restart 

注:如果重啟失敗,可能就是你第二步的時(shí)間寫錯(cuò)了。要注意前面是分鐘,后面是小時(shí),不要寫反了!

總結(jié)

到此這篇關(guān)于Mysql定時(shí)數(shù)據(jù)庫備份實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Mysql定時(shí)數(shù)據(jù)庫備份內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SQL如何按照年月來查詢數(shù)據(jù)問題

    SQL如何按照年月來查詢數(shù)據(jù)問題

    這篇文章主要介紹了SQL如何按照年月來查詢數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • phpmyadmin中為站點(diǎn)設(shè)置mysql權(quán)限的圖文方法

    phpmyadmin中為站點(diǎn)設(shè)置mysql權(quán)限的圖文方法

    在一個(gè)服務(wù)器上一般來講都不止一個(gè)站點(diǎn),更不止一個(gè)MySQL(和PHP搭配之最佳組合)數(shù)據(jù)庫。
    2011-03-03
  • MySQL?常見時(shí)間字段設(shè)置小結(jié)

    MySQL?常見時(shí)間字段設(shè)置小結(jié)

    本文詳細(xì)探討了MySQL中常見時(shí)間字段的設(shè)置和處理,包括DATETIME、DATE、TIME和TIMESTAMP等類型的介紹,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • Mysql排序的特性詳情

    Mysql排序的特性詳情

    這篇文章主要介紹Mysql排序的特性,新寫了一個(gè)功能,自測(cè)和測(cè)試環(huán)境測(cè)試都沒問題,但在生產(chǎn)環(huán)境會(huì)出現(xiàn)偶發(fā)問題。于是,加班到12點(diǎn)一直排查問題,終于定位了的問題原因:Mysql Limit查詢優(yōu)化導(dǎo)致。現(xiàn)抽象出問題模型及解決方案,分析給大家,避免大家踩坑,需要的朋友可以參考一下
    2021-10-10
  • Linux中安裝MySQL5.7.42的詳細(xì)教程

    Linux中安裝MySQL5.7.42的詳細(xì)教程

    這篇文章主要介紹了Linux中安裝MySQL5.7.42,本文通過實(shí)例圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • MySQL中Union子句不支持order by的解決方法

    MySQL中Union子句不支持order by的解決方法

    這篇文章主要介紹了MySQL中Union子句不支持order by的解決方法,結(jié)合實(shí)例形式分析了在mysql的Union子句中使用order by的方法,需要的朋友可以參考下
    2016-06-06
  • Mysql中InnoDB與MyISAM索引差異詳解(最新整理)

    Mysql中InnoDB與MyISAM索引差異詳解(最新整理)

    InnoDB和MyISAM在索引實(shí)現(xiàn)和特性上有差異,包括聚集索引、非聚集索引、事務(wù)支持、并發(fā)控制、覆蓋索引、主鍵約束、外鍵支持和物理存儲(chǔ)結(jié)構(gòu)等方面,InnoDB更適合事務(wù)型應(yīng)用,而MyISAM適合只讀或讀多寫少的場(chǎng)景,本文介紹Mysql中InnoDB與MyISAM索引差異,感興趣的朋友一起看看吧
    2025-03-03
  • MySQL 實(shí)現(xiàn)數(shù)據(jù)分片進(jìn)行數(shù)據(jù)查詢的方案

    MySQL 實(shí)現(xiàn)數(shù)據(jù)分片進(jìn)行數(shù)據(jù)查詢的方案

    本文介紹MySQL數(shù)據(jù)分片技術(shù),包括垂直分片和水平分片,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-08-08
  • mysql并發(fā)控制原理知識(shí)點(diǎn)

    mysql并發(fā)控制原理知識(shí)點(diǎn)

    在本篇文章里小編給大家整理的是一篇關(guān)于mysql并發(fā)控制原理知識(shí)點(diǎn)內(nèi)容,需要的朋友們參考下吧。
    2020-02-02
  • MySQL常見的底層優(yōu)化操作教程及相關(guān)建議

    MySQL常見的底層優(yōu)化操作教程及相關(guān)建議

    這篇文章主要介紹了MySQL常見的底層優(yōu)化操作教程及相關(guān)建議,包括對(duì)運(yùn)行操作系統(tǒng)的硬件方面及存儲(chǔ)引擎參數(shù)的調(diào)整等零碎方面的小整理,需要的朋友可以參考下
    2015-12-12

最新評(píng)論

梓潼县| 蛟河市| 明水县| 灌云县| 安远县| 同德县| 甘泉县| 射洪县| 东光县| 东明县| 普洱| 商河县| 和平县| 大连市| 溧阳市| 镇平县| 化隆| 壶关县| 横山县| 松桃| 武川县| 个旧市| 石台县| 温宿县| 乐安县| 商洛市| 赤水市| 枣庄市| 甘泉县| 常熟市| 乐山市| 怀柔区| 临海市| 象州县| 武夷山市| 霞浦县| 拉萨市| 烟台市| 台山市| 宣化县| 九台市|