k8s上運(yùn)行的mysql、mariadb數(shù)據(jù)庫的備份記錄(支持x86和arm兩種架構(gòu))
前言
記錄一下在k8s運(yùn)行的數(shù)據(jù)庫的備份步驟。
我的思路是新建一個(gè)數(shù)據(jù)庫的容器作為工具容器,通過工具容器執(zhí)行mysqldump命令進(jìn)行備份,最后通過定時(shí)任務(wù)來執(zhí)行命令。沒有涉及保留時(shí)間的問題
一、獲取需要備份的數(shù)據(jù)庫的信息
kubectl get svc -A mariadb mariadb ClusterIP 10.233.20.235 <none> 3306/TCP 71d mariadb mariadb-nodeport NodePort 10.233.31.133 <none> 3306:30901/TCP
二、備份步驟
1.準(zhǔn)備工作(X86)
# 準(zhǔn)備備份目錄 mkdir -p /data/backup/mysql/ # 獲取鏡像 docker pull dockerpull.cn/bitnami/mariadb:10.5.11-debian-10-r0 # 運(yùn)行備份用數(shù)據(jù)庫容器 docker run --name mariadb-bak-tool -d -e TZ=Asia/Shanghai -e MARIADB_ROOT_PASSWORD=passwd@123456 dockerpull.cn/bitnami/mariadb:10.5.11-debian-10-r0
1.準(zhǔn)備工作(arm)
# 準(zhǔn)備備份目錄 mkdir -p /data/backup/mysql/ # 獲取鏡像 docker pull dockerpull.cn/arm64v8/mariadb:10.5.11 # 運(yùn)行備份用數(shù)據(jù)庫容器 docker run --name mariadb-bak-tool -d -e TZ=Asia/Shanghai -e MARIADB_ROOT_PASSWORD=passwd@123456 dockerpull.cn/arm64v8/mariadb:10.5.11
2.手動(dòng)備份
# 利用pod的容器網(wǎng)絡(luò)的IP連接 /usr/bin/docker exec -it mariadb-bak-tool mysqldump -uroot -ppasswd@123456 --host=10.233.20.235 --port=3306 --all-databases > /data/backup/mysql/all_databases_backup_$(date +"%Y%m%d-%H:%M").sql # 使用nodeport連接 /usr/bin/docker exec -it mariadb-bak-tool mysqldump -uroot -ppasswd@123456 --host=XXX.XX.XX.XX --port=30901 --all-databases > /data/backup/mysql/all_databases_backup_$(date +"%Y%m%d-%H:%M").sql
3.定時(shí)任務(wù)自動(dòng)備份
10 6 * * * /usr/bin/docker exec mariadb-bak-tool mysqldump -uroot -ppasswd@123456 --host=XXX.XX.XX.XX --port=30901 --all-databases > /data/backup/mysql/all_databases_backup_$(date +"\%Y\%m\%d-\%H:\%M").sql 2>&1
注意:
- cron環(huán)境中不支持交互式終端,需要去掉-it參數(shù)
- crontab中百分號(hào)需要轉(zhuǎn)義
總結(jié)
記錄一下,后續(xù)在項(xiàng)目中用。
到此這篇關(guān)于k8s上運(yùn)行的mysql、mariadb數(shù)據(jù)庫的備份記錄(支持x86和arm兩種架構(gòu))的文章就介紹到這了,更多相關(guān)k8s數(shù)據(jù)庫備份記錄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL字符串轉(zhuǎn)數(shù)字的3種方式實(shí)例
這篇文章主要給大家介紹了關(guān)于MySQL字符串轉(zhuǎn)數(shù)字的3種方式,在使用mysql中經(jīng)常遇到要將字符串?dāng)?shù)字轉(zhuǎn)換成可計(jì)算數(shù)字,文中給出了詳細(xì)的代碼示例和圖文介紹,需要的朋友可以參考下2023-08-08使用mydumper多線程備份MySQL數(shù)據(jù)庫
MySQL在備份方面包含了自身的mysqldump工具,但其只支持單線程工作,這就使得它無法迅速的備份數(shù)據(jù)。而 mydumper作為一個(gè)實(shí)用工具,能夠良好支持多線程工作,這使得它在處理速度方面十倍于傳統(tǒng)的2013-11-11redhat7.1 安裝mysql 5.7.10步驟詳解(圖文詳解)
這篇文章主要介紹了redhat7.1 安裝mysql 5.7.10的步驟詳細(xì)介紹本文圖文并茂給大家介紹的非常詳細(xì),需要的朋友可以參考下2016-11-11MySQL外鍵級(jí)聯(lián)的實(shí)現(xiàn)
本文主要介紹了MySQL外鍵級(jí)聯(lián)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07mysql函數(shù)之截取字符串的實(shí)現(xiàn)
本文主要介紹了mysql函數(shù)之截取字符串的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08一文徹底搞懂MySQL?TimeStamp時(shí)區(qū)問題
MySQL的timestamp類型默認(rèn)使用的是服務(wù)器的時(shí)區(qū)來存儲(chǔ)時(shí)間值,這意味著如果服務(wù)器的時(shí)區(qū)發(fā)生了變化,那么存儲(chǔ)的timestamp值也會(huì)發(fā)生變化,下面這篇文章主要給大家介紹了關(guān)于如何通過一文徹底搞懂MySQL?TimeStamp時(shí)區(qū)問題的相關(guān)資料,需要的朋友可以參考下2024-01-01MySQL存儲(chǔ)引擎MyISAM與InnoDB區(qū)別總結(jié)整理
今天小編就為大家分享一篇關(guān)于MySQL存儲(chǔ)引擎MyISAM與InnoDB區(qū)別總結(jié)整理,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03