# 安装MySQL-Audit $ wget https://github.com/outbrain/mysql-audit/releases/download/v1.6.8/mysql-server_5.7.22-1ubuntu16.04_amd64.deb-bundle.tar $ tar -xvf mysql-server_5.7.22-1ubuntu16.04_amd64.deb-bundle.tar $ dpkg -i mysql-common_5.7.22-1ubuntu16.04_amd64.deb $ dpkg -i mysql-community-server_5.7.22-1ubuntu16.04_amd64.deb $ dpkg -i mysql-community-client_5.7.22-1ubuntu16.04_amd64.deb $ dpkg -i mysql-audit-plugin-1.2.0-linux-x86-64bit.deb # 启用MySQL-Audit $ mysql -u root -p mysql>INSTALL PLUGIN audit_log SONAME 'mysql_audit_log.so'; # 配置MySQL-Audit $ vim /etc/mysql/mysql.conf.d/mysqld.cnf [mysqld] plugin-load-add = audit_log.so audit_log_policy = ALL audit_log_format = JSON audit_log_rotate_on_size = 1G # 重启MySQL服务 $ systemctl restart mysql
配置完成后,MySQL-Audit会将记录的日志信息存储到MySQL的审计日志表中,开发人员和管理员可以通过查询审计表,获得详细的访问历史和异常事件。在MySQL-Audit日志表中,存储了以下关键信息:
- session_id:会话ID
- start_time:会话开始时间
- server_host:服务主机名
- command_class:命令类型
- user_host:用户主机名
- db:当前数据库
- cmd:命令
- arg:参数
- affected_rows:影响行数
- status:执行状态
- error:错误信息
总之,MySQL-Audit插件是MySQL数据库的一个强大工具,可以帮助开发人员和管理员进行安全审计和故障排查,提高数据安全性和开发效率。