天天看點

docker開啟mysql啟binlog日志

前言

在開發中,需要通過監聽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
           
  • 1

備注:需提前在主控端目錄下建立一個檔案用于儲存mysql的資料集,我這裡建立的目錄是 /usr/docker/mysql/data

而/var/lib/mysql是mysql鏡像開啟後的固定目錄,一般是不需要我們手動去幹擾的,保持預設的就可以

2、連接配接mysql并進行測試

使用用戶端連接配接工具連接配接上mysql,嘗試着觀察一下mysql_binlog的開啟情況

docker開啟mysql啟binlog日志

可以看到此時并沒有開啟日志功能,同時我們也可以去到主控端的挂載目錄下觀察一下,

docker開啟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、建立一個資料庫并在裡面建立一個表加一條資料

docker開啟mysql啟binlog日志

這時我們再觀察一下bin_log的變化,說明這時候bin_log的日志已經生成了

docker開啟mysql啟binlog日志

也可以進入到主控端目錄下進行觀察,這時在主控端下已經産生了日志檔案

docker開啟mysql啟binlog日志

結語

本篇的初衷是為了快速搭建mysql并能想辦法檢測到bin_log的日志達到後續使用bin_log檢測表資料變化的目的,是以使用docker安裝賀啟動mysql是比較友善的,但由于是初次嘗試,在網上參考相關的資料時發現基大多數部落格的内容基本上沒有經過驗證,或者說很難實施出效果,最終總結出上面可執行的流程,提供後續的參考和使用!友情提示,網上的資料請慎重參考!最後感謝觀看!

前言

在開發中,需要通過監聽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
           
  • 1

備注:需提前在主控端目錄下建立一個檔案用于儲存mysql的資料集,我這裡建立的目錄是 /usr/docker/mysql/data

而/var/lib/mysql是mysql鏡像開啟後的固定目錄,一般是不需要我們手動去幹擾的,保持預設的就可以

2、連接配接mysql并進行測試

使用用戶端連接配接工具連接配接上mysql,嘗試着觀察一下mysql_binlog的開啟情況

docker開啟mysql啟binlog日志

可以看到此時并沒有開啟日志功能,同時我們也可以去到主控端的挂載目錄下觀察一下,

docker開啟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、建立一個資料庫并在裡面建立一個表加一條資料

docker開啟mysql啟binlog日志

這時我們再觀察一下bin_log的變化,說明這時候bin_log的日志已經生成了

docker開啟mysql啟binlog日志

也可以進入到主控端目錄下進行觀察,這時在主控端下已經産生了日志檔案

docker開啟mysql啟binlog日志

結語

本篇的初衷是為了快速搭建mysql并能想辦法檢測到bin_log的日志達到後續使用bin_log檢測表資料變化的目的,是以使用docker安裝賀啟動mysql是比較友善的,但由于是初次嘗試,在網上參考相關的資料時發現基大多數部落格的内容基本上沒有經過驗證,或者說很難實施出效果,最終總結出上面可執行的流程,提供後續的參考和使用!友情提示,網上的資料請慎重參考!最後感謝觀看!