MySQL docker容器數(shù)據(jù)更新統(tǒng)計(jì)shell腳本代碼方式
MySQL docker容器數(shù)據(jù)更新統(tǒng)計(jì)shell腳本代碼
創(chuàng)建腳本文件
#!/bin/bash
# MySQL容器名稱
MYSQL_CONTAINER="mysql"
# 輸出文件
OUTPUT_FILE="./update-record.txt"
# 當(dāng)前時(shí)間
CURRENT_DATE=$(date "+%Y-%m-%d %H:%M:%S")
# 執(zhí)行SQL查詢并將結(jié)果追加到文件中
echo "[$CURRENT_DATE]" >> $OUTPUT_FILE
echo "Executing SQL query inside the MySQL container..." >> $OUTPUT_FILE
# SQL查詢命令
QUERY_RESULT=$(docker exec $MYSQL_CONTAINER mysql -uroot -p123456 -e "SHOW GLOBAL STATUS WHERE Variable_name IN ('Com_update', 'Com_insert', 'Com_delete', 'Com_replace');" -sN)
# 將結(jié)果寫入文件
echo "$QUERY_RESULT" >> $OUTPUT_FILE
echo "----------------------------------------" >> $OUTPUT_FILE
# 輸出提示信息
echo "Statistics recorded at $CURRENT_DATE"設(shè)置權(quán)限
為了讓腳本能被執(zhí)行,需要給腳本添加執(zhí)行權(quán)限:
chmod +x mysql_update_stats.sh
配置定時(shí)任務(wù)
使用cron來安排腳本每隔一小時(shí)執(zhí)行一次。
編輯crontab文件:
crontab -e
在打開的編輯器中添加以下行:
0 * * * * /path/to/your/directory/mysql_update_stats.sh
這里的0 * * * *表示每天的整點(diǎn)時(shí)間執(zhí)行腳本。
如果你將腳本放在了/home/user/scripts/目錄下,路徑應(yīng)為/home/user/scripts/mysql_update_stats.sh。
注意事項(xiàng)
MySQL容器名稱:
- 確保腳本中的
MYSQL_CONTAINER變量值正確,即MySQL容器的實(shí)際名稱。 - 如果不確定容器名稱,可以使用
docker ps命令查看正在運(yùn)行的容器列表。
MySQL容器內(nèi)部的用戶權(quán)限:
- 確保MySQL容器內(nèi)部的默認(rèn)用戶(通常是
root) - 具有足夠的權(quán)限來執(zhí)行
SHOW GLOBAL STATUS命令
腳本路徑和權(quán)限:
- 確保腳本文件所在的目錄和輸出文件的目錄具有足夠的權(quán)限
- 使得腳本能讀寫文件
解釋
- 執(zhí)行SQL查詢:使用
docker exec命令直接在MySQL容器內(nèi)部執(zhí)行SQL查詢命令。 - 輸出結(jié)果:將查詢結(jié)果追加到指定的文件
update-record.txt中,并在每次記錄之間添加分割線以區(qū)分每次執(zhí)行的結(jié)果。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker-compose java.net.UnknownHostException問題
這篇文章主要介紹了docker-compose java.net.UnknownHostException問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
Docker移動(dòng)安裝目錄的2種實(shí)現(xiàn)過程
本文介紹Docker遷移數(shù)據(jù)目錄的兩種方法:軟鏈接(無需改配置,路徑跳轉(zhuǎn),適合臨時(shí)遷移)和配置修改(需編輯daemon.json指定新路徑,長(zhǎng)期穩(wěn)定),操作需停服務(wù)、備份、確保權(quán)限與路徑正確2025-08-08
docker鏡像配置掛載GPU的實(shí)現(xiàn)步驟
本文記錄了在普通Docker容器中成功掛載本地GPU設(shè)備并運(yùn)行GPU程序的完整過程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2026-04-04
DockerCE之執(zhí)行docker info出現(xiàn)兩條警告信息及解決方案
這篇文章主要介紹了DockerCE之執(zhí)行docker info出現(xiàn)兩條警告信息及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02

