MySQL是最受歡迎的開源資料庫,但在Log記錄方面的表現一直未盡人意,本文將透過外掛mysql-audit稽核軟體的方式來補足這一方面的缺憾。先從安裝MySQL資料庫說起,然後說明如何安裝mysql-audit,並進行測試。
安裝完成後,記得執行mysql_install_db程式,初始化相關的系統資料庫表格。接下來說明MySQL資料庫提供的程式,如下表所示。
MySQL資料庫所提供的程式
說明完MySQL常用的程式後,繼續介紹MySQL組態檔內的設定,此檔案名稱為「/etc/my.cnf」。以下說明常用的my.cnf組態參數,my.cnf的設定格式如下所示:
其中,區段名稱為MySQL執行程式的名稱,若設定區段名稱為mysqld,代表接下來的組態設定是專為mysqld程式所設定。
這裡僅說明區段名稱為mysqld和mysqld_safe常用的組態說明,下表為mysqld常用的組態說明。
mysqld常用組態
在說明完區段名稱為mysqld的組態說明後,接著說明區段名稱為mysqld_safe(這是以安全模式啟動MySQL的程式)常用的組態說明。
mysqld_safe常用組態說明
完成安裝MySQL以及設定my.cnf之後,可以利用mysqld_safe來啟動MySQL資料庫。
成功啟動後,使用mysql程式登入到MySQL的管理介面,由於mysql-audit會以Plugin的方式與MySQL結合,所以必須先確定所安裝的MySQL資料庫軟體之外掛程式目錄的位置(mysql-audi在編譯成功之後,必須將相關的檔案放置此外掛程式目錄之下)。
接下來,便可以執行「show global variables like 'plugin_dir';」指令,利用此指令來查詢外掛程式目錄的位置。
|
▲查詢外掛程式目錄的位置。 |
以此例而言,外掛程式目錄的位置為「/usr/local/mysql5/lib/mysql/plugin」。編譯成功mysql-aduit之後,必須將相關的程式置於此目錄內。
安裝mysql-audit
首先,到mysql-audit官方網站(https://github.com/mcafee/mysql-audit)取得原始碼。該網站上也提供已經編譯好的二進位碼,但經過測試卻都有編碼的問題存在,例如在記錄的SQL指令上若含有中文字,就會變成亂碼。
因此,還是採用原始碼編譯的方式來進行。在mysql-audit官方網站內點選「zip」選項,即可取得最新版的mysql-audit原始碼。
|
▲點選「zip」選項以取得最新版本的mysql-audit原始碼。 |
下載並且解壓縮,然後查看「src」目錄下的audit_plugin.cc檔案,其中有支援的MySQL版本列表,可比對自己的MySQL版本是否在支援之列,如下圖所示。
|
▲查詢自己所用的MySQL版本是否在mysql-audit的支援之列。 |