目錄
- 前言
- 1、通過數(shù)據(jù)卷的方式開啟一個mysql鏡像
- 2、連接mysql并進行測試
- 3、開啟bin_log
- 4、重啟mysql鏡像
- 5、創(chuàng)建一個數(shù)據(jù)庫并在里面創(chuàng)建一個表加一條數(shù)據(jù)
- 結語
前言
在開發(fā)中,需要通過監(jiān)聽mysql的binlog日志文件做到對數(shù)據(jù)表的監(jiān)控,由于mysql是部署在docker容器中,還需要解決數(shù)據(jù)卷的問題
1、通過數(shù)據(jù)卷的方式開啟一個mysql鏡像
docker run -p 3307:3306 --name myMysql -v /usr/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.25
備注:需提前在宿主機目錄下創(chuàng)建一個文件用于保存mysql的數(shù)據(jù)集,我這里創(chuàng)建的目錄是 /usr/docker/mysql/data
而/var/lib/mysql是mysql鏡像開啟后的固定目錄,一般是不需要我們手動去干擾的,保持默認的就可以
2、連接mysql并進行測試
使用客戶端連接工具連接上mysql,嘗試著觀察一下mysql_binlog的開啟情況
可以看到此時并沒有開啟日志功能,同時我們也可以去到宿主機的掛載目錄下觀察一下,
3、開啟bin_log
依次執(zhí)行下面的命令
docker exec myMysql bash -c "echo 'log-bin=/var/lib/mysql/mysql-bin' >> /etc/mysql/mysql.conf.d/mysqld.cnf"
docker exec myMysql bash -c "echo 'server-id=123454' >> /etc/mysql/mysql.conf.d/mysqld.cnf"
4、重啟mysql鏡像
docker restart myMysql
5、創(chuàng)建一個數(shù)據(jù)庫并在里面創(chuàng)建一個表加一條數(shù)據(jù)
這時我們再觀察一下bin_log的變化,說明這時候bin_log的日志已經(jīng)生成了
也可以進入到宿主機目錄下進行觀察,這時在宿主機下已經(jīng)產生了日志文件
結語
本篇的初衷是為了快速搭建mysql并能想辦法檢測到bin_log的日志達到后續(xù)使用bin_log檢測表數(shù)據(jù)變化的目的,因此使用docker安裝賀啟動mysql是比較方便的,但由于是初次嘗試,在網(wǎng)上參考相關的資料時發(fā)現(xiàn)基大多數(shù)博客的內容基本上沒有經(jīng)過驗證,或者說很難實施出效果,最終總結出上面可執(zhí)行的流程,提供后續(xù)的參考和使用!友情提示,網(wǎng)上的資料請慎重參考!最后感謝觀看!希望大家以后多多支持!