docker開啟mysql啟binlog日誌

2021-10-09 15:15:05 字數 3153 閱讀 6214

在開發中,需要通過監聽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是比較方便的,但由於是初次嘗試,在網上參考相關的資料時發現基大多數部落格的內容基本上沒有經過驗證,或者說很難實施出效果,最終總結出上面可執行的流程,提供後續的參考和使用!友情提示,網上的資料請慎重參考!最後感謝**!

在開發中,需要通過監聽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是比較方便的,但由於是初次嘗試,在網上參考相關的資料時發現基大多數部落格的內容基本上沒有經過驗證,或者說很難實施出效果,最終總結出上面可執行的流程,提供後續的參考和使用!友情提示,網上的資料請慎重參考!最後感謝**!

docker開啟api埠,docker啟用加速

此篇是針對centos6的docker,注意ubantu和centos7的會有區別。需要在docker配置檔案中修改資訊 centos中是這個檔案 etc sysconfig docker,ubuntu中不同。可以 使用find name docker可以找到此檔案。vim etc sysconfi...

Docker 中開啟MySQL的步驟

docker 中開啟mysql的步驟,各種出錯後終於搞定了,記錄一下 前提 mysql的image名稱為mysql,mysql的密碼為272120 初次建立 docker run p 3306 3306 name mysql e mysql root password 272120 d mysqld...

設定開啟自啟服務

lib systemd system下建立supervisor.service,是開機自啟服務 1 進入 lib systemd system目錄,並建立supervisor.service檔案 unit description supervisor after network.target ser...