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