2.linux 9 mysql 5.7.44 开启审计功能

# linux 9 mysql 5.7.44 开启审计功能

# 环境说明

提前安装好 mysql 并正常使用

# mysql 安装教程请查看另外一篇文章
https://blog.csdn.net/szsqs/article/details/144701199?spm=1001.2014.3001.5502

# 创建审计日志目录

[root@localhost ~]# mkdir -pv /usr/local/mysql/logs/audit
mkdir: created directory '/usr/local/mysql/logs/audit'
[root@localhost ~]# 

# 修改权限

[root@localhost ~]# chown -R mysql.mysql /usr/local/mysql
[root@localhost ~]# 

# 登入 mysql 执行如下命令,可以查看 mysql 数据对应的插件文件存放位置

[root@localhost ~]# mysql -uroot -p'**********' -e "show global variables like 'plugin_dir';"
mysql: [Warning] Using a password on the command line interface can be insecure.
+---------------+------------------------------+
| Variable_name | Value                        |
+---------------+------------------------------+
| plugin_dir    | /usr/local/mysql/lib/plugin/ |
+---------------+------------------------------+
[root@localhost ~]# 

# 安装审计插件

[root@localhost ~]# mysql -uroot -p'**********' -e "install plugin audit_log soname 'audit_log.so';"
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@localhost ~]# 

# 安装成功,查看审计参数配置

[root@localhost ~]# mysql -uroot -p'**********' -e "show variables like '%audit%';"
mysql: [Warning] Using a password on the command line interface can be insecure.
+-----------------------------+---------------+
| Variable_name               | Value         |
+-----------------------------+---------------+
| audit_log_buffer_size       | 1048576       |
| audit_log_exclude_accounts  |               |
| audit_log_exclude_commands  |               |
| audit_log_exclude_databases |               |
| audit_log_file              | audit.log     |
| audit_log_flush             | OFF           |
| audit_log_format            | OLD           |
| audit_log_handler           | FILE          |
| audit_log_include_accounts  |               |
| audit_log_include_commands  |               |
| audit_log_include_databases |               |
| audit_log_policy            | ALL           |
| audit_log_rotate_on_size    | 0             |
| audit_log_rotations         | 0             |
| audit_log_strategy          | ASYNCHRONOUS  |
| audit_log_syslog_facility   | LOG_USER      |
| audit_log_syslog_ident      | percona-audit |
| audit_log_syslog_priority   | LOG_INFO      |
+-----------------------------+---------------+
[root@localhost ~]# 

# 在 my.cnf 添加审计配置

[root@localhost ~]# vim /etc/my.cnf
[root@localhost ~]# 

#开启审计日志
# 设置审计日志策略,ASYNCHRONOUS(默认,使用内存buffer,如果buffer满,不删除消息),PERFORMANCE(使用内存buffer,如果buffer满删除消息),SEMISYNCHRONOUS(日志直接到文件,没有刷新和同步),SYNCHRONOUS(日志直接到文件,每个事件都要刷新和同步)
audit_log_strategy = ASYNCHRONOUS
# 以文件的方式记录
audit_log_handler = FILE 
# 指定日志文件,可以指定绝对路径,没有指定路径,将存储在数据目录
audit_log_file = /usr/local/mysql/logs/audit/audit.log
# 设置为ON,能关闭和重新打开日志,用于手工进行日志轮转
audit_log_flush = ON
# 指定审计日志的内存buffer,当audit_log_strategy为ASYNCHRONOUS,PERFORMANCE时
audit_log_buffer_size = 1048576
# 指定审计日志格式,OLD记录日志为xml属性,NEW记录日志为XML标签
audit_log_format = JSON
# 指定记录哪些事件,ALL(所有事件),LOGINS(仅仅用户登录事件),QUERIES(仅仅查询语句),NONE(不记录任何事件)
audit_log_policy = ALL
# 设置审计日志的大小,当日志到设置值,将自动轮转
audit_log_rotate_on_size = 1073741824
# 指定审计日志文件数量
audit_log_rotations = 0
# 
audit_log = FORCE_PLUS_PERMANENT

# 重新加载服务配置文件

[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# 

# 启动 mysqld 服务

[root@localhost ~]# systemctl restart mysqld
[root@localhost ~]# 

# 查看 mysqld 服务

[root@localhost ~]# systemctl status mysqld
● mysqld.service - Mysql
     Loaded: loaded (/etc/systemd/system/mysqld.service; disabled; preset: disabled)
     Active: active (running) since Wed 2024-12-24 00:22:12 CST; 22s ago
    Process: 3887 ExecStart=/usr/local/mysql/support-files/mysql.server start (code=exited, status=0/SUCCESS)
   Main PID: 3901 (mysqld_safe)
      Tasks: 57 (limit: 10754)
     Memory: 376.3M
        CPU: 910ms
     CGroup: /system.slice/mysqld.service
             ├─3901 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/mysql.pid
             └─5027 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mys>

Dec 24 00:22:08 localhost.localdomain systemd[1]: Starting Mysql...
Dec 24 00:22:12 localhost.localdomain mysql.server[3887]: Starting MySQL.... SUCCESS!
Dec 24 00:22:12 localhost.localdomain systemd[1]: Started Mysql.
lines 1-15/15 (END)

# 查看 mysql 启动日志

[root@localhost ~]# tail /usr/local/mysql/logs/mysql-error/mysql_error.log
2024-12-24T00:22:11.668759+08:00 0 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
2024-12-24T00:22:11.668790+08:00 0 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
2024-12-24T00:22:11.668822+08:00 0 [Note] Server socket created on IP: '0.0.0.0'.
2024-12-24T00:22:11.671363+08:00 0 [Note] Failed to start slave threads for channel ''
2024-12-24T00:22:11.673697+08:00 0 [Note] Event Scheduler: Loaded 0 events
2024-12-24T00:22:11.673745+08:00 0 [Note] WSREP: Read nil XID from storage engines, skipping position init
2024-12-24T00:22:11.673749+08:00 0 [Note] WSREP: wsrep_load(): loading provider library 'none'
2024-12-24T00:22:11.673789+08:00 1 [Note] Event Scheduler: scheduler thread started with id 1
2024-12-24T00:22:11.673866+08:00 0 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version: '5.7.44-log'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server (GPL)
[root@localhost ~]# 

# 添加开机启动 nysqld 服务

[root@localhost ~]# systemctl enable mysqld
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /etc/systemd/system/mysqld.service.
[root@localhost ~]# 

# 查看3306端口状态

[root@localhost ~]# netstat -tunpl|grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      5027/mysqld         
[root@localhost ~]# 

 # 查看审计日志

[root@localhost ~]# tail /usr/local/mysql/logs/audit/audit.log
{"audit_record":{"name":"Audit","record":"1_2024-12-24T16:22:08","timestamp":"2024-12-24T16:22:08 UTC","mysql_version":"5.7.44-log","startup_optionsi":"--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/logs/mysql-error/mysql_error.log --pid-file=/usr/local/mysql/mysql.pid --socket=/usr/local/mysql/mysql.sock --port=3306 --wsrep_recover --log_error=/usr/local/mysql/data/wsrep_recovery.CHIsGD --pid-file=/usr/local/mysql/data/localhost.localdomain-recover.pid","os_version":"x86_64-Linux"}}
{"audit_record":{"name":"NoAudit","record":"2_2024-12-24T16:22:08","timestamp":"2024-12-24T16:22:08 UTC","mysql_version":"5.7.44-log","startup_optionsi":"--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/logs/mysql-error/mysql_error.log --pid-file=/usr/local/mysql/mysql.pid --socket=/usr/local/mysql/mysql.sock --port=3306 --wsrep_recover --log_error=/usr/local/mysql/data/wsrep_recovery.CHIsGD --pid-file=/usr/local/mysql/data/localhost.localdomain-recover.pid","os_version":"x86_64-Linux"}}
{"audit_record":{"name":"Audit","record":"1145_2024-12-24T16:22:09","timestamp":"2024-12-24T16:22:11 UTC","mysql_version":"5.7.44-log","startup_optionsi":"--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/logs/mysql-error/mysql_error.log --pid-file=/usr/local/mysql/mysql.pid --socket=/usr/local/mysql/mysql.sock --port=3306 --wsrep_start_position=00000000-0000-0000-0000-000000000000:-1","os_version":"x86_64-Linux"}}
[root@localhost ~]# 

# 到此审计插件安装结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值