mariadb 的審計(jì)日志和mysql審計(jì)日志都是使用插件形式使用。
目前mysql企業(yè)版支持審計(jì)日志功能,percona公司的插件可替代該插件(網(wǎng)絡(luò)了解mysql社區(qū)版可使用percona的審計(jì)插件,本人尚未實(shí)驗(yàn)測(cè)試。)
本次實(shí)驗(yàn)基于mariadb開啟審計(jì)日志。
1.mariadb版本:mariadb10.1.19 在官方下載的二進(jìn)制包中包含審計(jì)日志插件。
2.查看數(shù)據(jù)庫是否安裝插件:
SHOW VARIABLES LIKE '%plugin_dir%';
看到此數(shù)據(jù)庫已安裝審計(jì)插件,卸載插件重新安裝。
3.卸載插件
MariaDB [(none)]> UNINSTALL PLUGIN server_audit;
ERROR 1702 (HY000): Plugin 'server_audit' is force_plus_permanent and can not be unloaded
卸載插件報(bào)錯(cuò),需要修改參數(shù)。
server_audit=FORCE_PLUS_PERMANENT
參數(shù)防止刪除該插件參數(shù)。實(shí)驗(yàn)中可重啟DB,實(shí)際生產(chǎn)中需謹(jǐn)慎操作。
vi /etc/my.cnf
#+#audit
#plugin_load=server_audit
#server_audit_events=connect,query_dml,query_ddl
#server_audit=FORCE_PLUS_PERMANENT
#server_audit_file_rotate_size = 128M
#server_audit_logging = ON
#server_audit_file_path=/data01/mysql/log3306/server_audit.log
#sysdate_is_now = 1
重啟mysql:
卸載成功。
MariaDB [(none)]> unINSTALL PLUGIN server_audit;
ERROR 1305 (42000): PLUGIN server_audit does not exist
MariaDB [(none)]> show variables like '%audit%';
Empty set (0.00 sec)
4.安裝插件:
MariaDB [(none)]> INSTALL PLUGIN server_audit SONAME 'libaudit_plugin.so';
ERROR 1127 (HY000): Can't find symbol 'server_audit' in library
安裝報(bào)錯(cuò):
原因未找到,還原my.cnf的配置文件注釋,并重啟mysql。
plugin_load=server_audit
server_audit_events=connect,query_dml,query_ddl
server_audit=FORCE_PLUS_PERMANENT
server_audit_file_rotate_size = 128M
server_audit_logging = ON
server_audit_file_path=/data01/mysql/log3306/server_audit.log
sysdate_is_now = 1
發(fā)現(xiàn)再次安裝:
MariaDB [(none)]> INSTALL PLUGIN server_audit SONAME 'libaudit_plugin.so';
ERROR 1968 (HY000): Plugin 'server_audit' already installed
MariaDB [(none)]> INSTALL PLUGIN server_audit SONAME 'libaudit_plugin.so';
ERROR 1968 (HY000): Plugin 'server_audit' already installed
Now,恐怖了。目前問題是,如果不注釋配置文件,那么不能停止server_audit
+---------+------+----------------------------------------------------+
| Level | Code | Message |
+---------+------+----------------------------------------------------+
| Warning | 1620 | Plugin is busy and will be uninstalled on shutdown |
+---------+------+----------------------------------------------------+
注釋掉安裝找不到:Can't find symbol 'server_audit' in library
5.錯(cuò)誤解決:
原因:安裝的語法不正確。
注釋掉審計(jì)日志的參數(shù)后,重啟mysql
安裝審計(jì)插件:
MariaDB [(none)]> show variables like '%audit%';
Empty set (0.00 sec)
MariaDB [(none)]> INSTALL PLUGIN server_audit SONAME 'server_audit.so';
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> show variables like '%audit%';
+-------------------------------+-----------------------+
| Variable_name | Value |
+-------------------------------+-----------------------+
| server_audit_events | |
| server_audit_excl_users | |
| server_audit_file_path | server_audit.log |
| server_audit_file_rotate_now | OFF |
| server_audit_file_rotate_size | 1000000 |
| server_audit_file_rotations | 9 |
| server_audit_incl_users | |
| server_audit_logging | OFF |
| server_audit_mode | 0 |
| server_audit_output_type | file |
| server_audit_query_log_limit | 1024 |
| server_audit_syslog_facility | LOG_USER |
| server_audit_syslog_ident | mysql-server_auditing |
| server_audit_syslog_info | |
| server_audit_syslog_priority | LOG_INFO |
+-------------------------------+-----------------------+
15 rows in set (0.01 sec)
此時(shí)審計(jì)日志參數(shù)均為空,可以通過設(shè)置全局動(dòng)態(tài)參數(shù)生效,此處為了重啟mysql后依然生效,筆者使用修改my.cnf參數(shù)進(jìn)行配置審計(jì)日志參數(shù),即取消注銷參數(shù)。
plugin_load=server_audit
server_audit_events=connect,query_dml,query_ddl
server_audit=FORCE_PLUS_PERMANENT
server_audit_file_rotate_size = 128M
server_audit_logging = ON
server_audit_file_path=/data01/mysql/log3306/server_audit.log
sysdate_is_now = 1
重啟mysql;安裝完畢,大家千萬不要像筆者這樣粗心大意,文章較為混亂,望讀者謹(jǐn)慎參考。
注:INSTALL PLUGIN audit_log SONAME 'audit_log.so'; 為mysql安裝審計(jì)日志語句。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。