Jadual Kandungan
1. 前言
2. 开启审计
2.1 配置文件加载
2.2 加载插件列表
3. 参数介绍
3.1 audit_log_buffer_size
3.2 audit_log_connection_policy
3.3 audit_log_current_session
3.4 audit_log_exclude_accounts/audit_log_include_accounts
3.5 audit_log_file
3.6 audit_log_flush
3.7 audit_log_format
3.8 audit_log_statement_policy
3.9 audit_log_rotate_on_size
3.10 audit_log_strategy
4. 日志格式
5. 审计限制
Rumah pangkalan data tutorial mysql Mysql5.6审计功能_MySQL

Mysql5.6审计功能_MySQL

Jun 01, 2016 pm 12:59 PM
Fungsi

1. 前言

为了安全和操作的可追溯性考虑,越来越多的公司加入了审计功能。mysql5.5推出了相关的审计功能,到5.6.20功能进一步完善,算是勉强可用了,虽然细粒度方面做的不是太好,但是后续版本还是可以期待一下的。这里主要介绍下相关的功能和特性。

2. 开启审计

2.1 配置文件加载

mysql5.6中的审计是通过audit_log插件来实现的,我们可以在配置文件中加载该插件来开启。
[mysqld]  
plugin-load=audit_log.so  
Salin selepas log masuk

如果希望数据库强制开启审计功能,如果不开启的话server不启动,或者审计功能不能进行时server挂住,加入
[mysqld]  
plugin-load=audit_log.so  
audit-log=FORCE_PLUS_PERMANENT 
Salin selepas log masuk

2.2 加载插件列表

审计功能的开启还有另外一种方式,就是在命令行中安装审计插件。确保在数据库的插件目录中存在audit_log.so。[i686数据库的插件目录默认是/usr/lib/mysql/plugin,中,也可以指定参数plugin_dir]
mysql> INSTALL PLUGIN audit_log SONAME 'audit_log.so';  
Salin selepas log masuk

3. 参数介绍

审计参数如下: \

3.1 audit_log_buffer_size

audit_log_buffer_size :审计缓存,建议设置为4096的倍数,该参数只有在audit_log_strategy为ASYNCHRONOUS时生效。

3.2 audit_log_connection_policy

audit_log_connection_policy:记录了连接审计的信息。包含三个参数
Value Description
ALL Log all connection events
ERRORS Log only failed connection events
NONE Do not log connection events
如果设置了audit_log_policy可能会被覆盖。

3.3 audit_log_current_session

audit_log_current_session:标志当前会话是否进入审计,是个只读参数,只能通过 audit_log_exclude_accounts和 audit_log_include_accounts来控制哪儿些进入会话审计。

3.4 audit_log_exclude_accounts/audit_log_include_accounts

audit_log_exclude_accounts:控制哪儿些用户可以不进入审计,字符串类型,默认可以使用逗号分隔。
audit_log_include_accounts:控制哪儿些用户可以进入审计,字符串类型,默认可以使用逗号分隔。
exclude和include同时只有一个参数生效。

3.5 audit_log_file

audit_log_file:可以用于控制审计日志的名称和路径。

3.6 audit_log_flush

audit_log_flush:控制审计日志的归档,只有在audit_log_rotate_on_size=0的时候生效,在手工重命名审计日志归档后,可以指定audit_log_flush=1来生成新的审计日志。

3.7 audit_log_format

audit_log_format:审计日志的格式,分为OLD和NEW(NEW格式在5.6.14才出现)。当更改格式的时候需要进行3个步骤:
1 :关闭数据库 2:重命名当前的audit.log文件
3:更改audit_log_format参数,并重启mysql,重启后会自动生成一个新的audit.log文件
防止NEW格式和OLD格式在同一个审计日志中,会导致审计功能错误。 audit_log_policy :记录了审计日志的控制策略:
Value Description
ALL Log all events
LOGINS Log only login events
QUERIES Log only query events
NONE Log nothing (disable the audit stream

3.8 audit_log_statement_policy

audit_log_statement_policy:记录了语句的审计策略,可能会被audit_log_policy给覆盖:
Value Description
ALL Log all statement events
ERRORS Log only failed statement events
NONE Do not log statement events

3.9 audit_log_rotate_on_size

audit_log_rotate_on_size:审计日志的文件大小。当参数大于0的时候,当审计日志超过限制后,会自动的重命名为加时间戳后缀的日志文件。同时创建新的审计日志。

3.10 audit_log_strategy

audit_log_strategy:审计日志的刷新策略分为:
Value Meaning
ASYNCHRONOUS Log asynchronously, wait for space in output buffer
PERFORMANCE Log asynchronously, drop request if insufficient space in output buffer
SEMISYNCHRONOUS Log synchronously, permit caching by operating system
SYNCHRONOUS Log synchronously, call sync() after each request

4. 日志格式

审计日志格式是XML的形式,NEW要比OLD的标签详细一些。具体的标签信息如下: 实例:
<!--?xml version="1.0" encoding="UTF-8"?-->

 
  <timestamp>2013-09-17T15:03:24 UTC</timestamp>
  <record_id>1_2013-09-17T15:03:24</record_id>
  <name>Audit</name>
  <server_id>1</server_id>
  <version>1</version>
  <startup_options>/usr/local/mysql/bin/mysqld
    --socket=/usr/local/mysql/mysql.sock
    --port=3306</startup_options>
  <os_version>x86_64-osx10.6</os_version>
  <mysql_version>5.7.2-m12-log</mysql_version>
 </audit_record>
 
  <timestamp>2013-09-17T15:03:40 UTC</timestamp>
  <record_id>2_2013-09-17T15:03:24</record_id>
  <name>Connect</name>
  <connection_id>2</connection_id>
  <status>0</status>
  <status_code>0</status_code>
  <user>root</user>
  <os_login></os_login>
  <host>localhost</host>
  <ip>127.0.0.1</ip>
  <command_class>connect</command_class>
  <priv_user>root</priv_user>
  <proxy_user></proxy_user>
  <db>test</db>
 </audit_record>

...

 
  <timestamp>2013-09-17T15:03:41 UTC</timestamp>
  <record_id>4_2013-09-17T15:03:24</record_id>
  <name>Query</name>
  <connection_id>2</connection_id>
  <status>0</status>
  <status_code>0</status_code>
  <user>root[root] @ localhost [127.0.0.1]</user>
  <os_login></os_login>
  <host>localhost</host>
  <ip>127.0.0.1</ip>
  <command_class>drop_table</command_class>
  <sqltext>DROP TABLE IF EXISTS t</sqltext>
 </audit_record>
 
  <timestamp>2013-09-17T15:03:41 UTC</timestamp>
  <record_id>5_2013-09-17T15:03:24</record_id>
  <name>Query</name>
  <connection_id>2</connection_id>
  <status>0</status>
  <status_code>0</status_code>
  <user>root[root] @ localhost [127.0.0.1]</user>
  <os_login></os_login>
  <host>localhost</host>
  <ip>127.0.0.1</ip>
  <command_class>create_table</command_class>
  <sqltext>CREATE TABLE t (i INT)</sqltext>
 </audit_record>

...

 
  <timestamp>2013-09-17T15:03:41 UTC</timestamp>
  <record_id>7_2013-09-17T15:03:24</record_id>
  <name>Quit</name>
  <connection_id>2</connection_id>
  <status>0</status>
  <status_code>0</status_code>
  <user></user>
  <os_login></os_login>
  <host></host>
  <ip></ip>
  <command_class>connect</command_class>
 </audit_record>

...

 
  <timestamp>2013-09-17T15:03:47 UTC</timestamp>
  <record_id>9_2013-09-17T15:03:24</record_id>
  <name>Shutdown</name>
  <connection_id>3</connection_id>
  <status>0</status>
  <status_code>0</status_code>
  <user>root[root] @ localhost [127.0.0.1]</user>
  <os_login></os_login>
  <host>localhost</host>
  <ip>127.0.0.1</ip>
  <command_class></command_class>
 </audit_record>
 
  <timestamp>2013-09-17T15:03:47 UTC</timestamp>
  <record_id>10_2013-09-17T15:03:24</record_id>
  <name>Quit</name>
  <connection_id>3</connection_id>
  <status>0</status>
  <status_code>0</status_code>
  <user></user>
  <os_login></os_login>
  <host></host>
  <ip></ip>
  <command_class>connect</command_class>
 </audit_record>
 
  <timestamp>2013-09-17T15:03:49 UTC</timestamp>
  <record_id>11_2013-09-17T15:03:24</record_id>
  <name>NoAudit</name>
  <server_id>1</server_id>
 </audit_record>
</audit>
Salin selepas log masuk


:文件的根标签为,并以 为结束标签
:包含一系列的必选标签和可选标签,可选标签是否出现取决于audit record类型。
:必选,例如Query,可能出现的值还包含Audit, Binlog Dump, Change user, Close stmt, Connect Out, Connect, Create DB, Daemon, Debug, Delayed insert, Drop DB, Execute, Fetch, Field List, Init DB, Kill, Long Data, NoAudit, Ping, Prepare, Processlist, Query, Quit, Refresh, Register Slave, Reset stmt, Set option, Shutdown, Sleep, Statistics, Table Dump, Time.
:必选,例如28743_2013-09-18T21:03:24,包含一些列数字和时间戳,数字表示的是记录数,每增加一条记录,数字加1.
:必选,例如2013-09-17T15:03:49 UTC,包含时间戳和时区两部分,记录的是从客户端接收到的sql执行完时刻的时间。
以下标签audit record类型决定是否出现
:命令的类型。例如drop_table.
:例如127,代表客户端连接标识符的无符号整型数字。
:mysql连接的默认数据库名称,该标签只在 值是Connect或Change user时出现.
:client端的主机名,该标签只在 值是Connect,Change user或Query时出现,例如localhost
:client端的IP地址,该标签只在 值是Connect,Change user或Query时出现,例如127.0.0.1
:mysql版本号,只在 值是Audit时出现,例如5.7.1-m11-log
:外部用户,该标签只在 值是Connect,Change user或Query时出现。
:表示运行数据库的服务器的操作系统,只在 值是Audit时出现,例如x86_64-Linux
:服务器认证的客户端名称。该标签只在 值是Connect或Change user时出现。例如root
:通过proxy连接到mysql的用户。该标签只在 值是Connect或Change user时出现。
:mysql数据库服务器的ID号,该标签只在 值是Audit或No Audit时出现。例如1
:实际执行的SQL语句。该标签只在 值是 Query 或 Execute时出现。例如DELETE FROM t1
:mysql数据库启动选项,该标签只在 值是Audit时出现,例如/usr/local/mysql/bin/mysqld --port=3306 --log-output=FILE
:代表sql命令的执行状态,0表示成功,其余表示有错误。例如1051
:代表sql命令的执行状态,0表示成功,1表示有错误。例如0
:客户端连接mysql服务器的用户名。例如root[root] @ localhost [127.0.0.1]
:表示日志文件格式的版本号。该标签只在 值是Audit时出现。例如1

5. 审计限制

审计日志默认存放在data路径下,由于XML文件没有经过加密,官网建议通过参数指定到特殊路径下,设置相应人员权限,进行安全控制。 此外审计功能有如下情况不能进行记录: 1)只有top-level(无变量定义)的语句才能进行审计,存储程序如存储过程,触发器,函数等不审计; 2)涉及到外部文件的语句无法进行审计,如load data infile。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah fungsi apl Doubao? Apakah fungsi apl Doubao? Mar 01, 2024 pm 10:04 PM

Akan terdapat banyak fungsi penciptaan AI dalam apl Doubao, jadi apakah fungsi apl Doubao? Pengguna boleh menggunakan perisian ini untuk membuat lukisan, berbual dengan AI, menjana artikel untuk pengguna, membantu semua orang mencari lagu, dsb. Pengenalan fungsi apl Doubao ini boleh memberitahu anda kaedah operasi khusus Kandungan khusus ada di bawah, jadi lihat! Apakah fungsi apl Doubao Jawapan: Anda boleh melukis, bersembang, menulis artikel dan mencari lagu. Pengenalan fungsi: 1. Pertanyaan soalan: Anda boleh menggunakan AI untuk mencari jawapan kepada soalan dengan lebih pantas, dan anda boleh bertanya apa-apa jenis soalan. 2. Penjanaan gambar: AI boleh digunakan untuk mencipta gambar yang berbeza untuk semua orang Anda hanya perlu memberitahu semua orang keperluan umum. 3. Sembang AI: boleh mencipta AI yang boleh berbual untuk pengguna,

Perbezaan antara vivox100s dan x100: perbandingan prestasi dan analisis fungsi Perbezaan antara vivox100s dan x100: perbandingan prestasi dan analisis fungsi Mar 23, 2024 pm 10:27 PM

Kedua-dua telefon bimbit vivox100s dan x100 adalah model yang mewakili dalam barisan produk telefon mudah alih vivo, masing-masing mewakili tahap teknologi canggih vivo dalam tempoh masa yang berbeza. Artikel ini akan menjalankan perbandingan terperinci antara kedua-dua telefon mudah alih ini dari segi perbandingan prestasi dan analisis fungsi untuk membantu pengguna memilih telefon mudah alih yang sesuai dengan mereka dengan lebih baik. Mula-mula, mari kita lihat perbandingan prestasi antara vivox100s dan x100. vivox100s dilengkapi dengan yang terbaru

Analisis perbandingan fungsi dan prestasi JPA dan MyBatis Analisis perbandingan fungsi dan prestasi JPA dan MyBatis Feb 19, 2024 pm 05:43 PM

JPA dan MyBatis: Analisis Perbandingan Fungsi dan Prestasi Pengenalan: Dalam pembangunan Java, rangka kerja kegigihan memainkan peranan yang sangat penting. Rangka kerja kegigihan biasa termasuk JPA (JavaPersistenceAPI) dan MyBatis. Artikel ini akan menjalankan analisis perbandingan fungsi dan prestasi kedua-dua rangka kerja dan menyediakan contoh kod khusus. 1. Perbandingan fungsi: JPA: JPA ialah sebahagian daripada JavaEE dan menyediakan penyelesaian kegigihan data berorientasikan objek. Ia diluluskan anotasi atau X

Apakah sebenarnya media kendiri? Apakah ciri dan fungsi utamanya? Apakah sebenarnya media kendiri? Apakah ciri dan fungsi utamanya? Mar 21, 2024 pm 08:21 PM

Dengan perkembangan pesat Internet, konsep media kendiri telah berakar umbi dalam hati orang ramai. Jadi, apakah sebenarnya media kendiri? Apakah ciri dan fungsi utamanya? Seterusnya, kita akan meneroka isu-isu ini satu demi satu. 1. Apakah sebenarnya media kendiri? Kami-media, seperti namanya, bermakna anda adalah media. Ia merujuk kepada pembawa maklumat yang melaluinya individu atau pasukan boleh mencipta, mengedit, menerbitkan dan menyebarkan kandungan secara bebas melalui platform Internet. Berbeza dengan media tradisional, seperti akhbar, televisyen, radio, dan lain-lain, media kendiri lebih interaktif dan diperibadikan, membolehkan semua orang menjadi pengeluar dan penyebar maklumat. 2. Apakah ciri dan fungsi utama media kendiri? 1. Ambang rendah: Peningkatan media kendiri telah menurunkan ambang untuk memasuki industri media Peralatan yang rumit dan pasukan profesional tidak lagi diperlukan.

Apakah penyesuai Bluetooth digunakan? Apakah penyesuai Bluetooth digunakan? Feb 19, 2024 pm 05:22 PM

Apakah yang dilakukan oleh penyesuai Bluetooth? Dengan perkembangan berterusan sains dan teknologi, teknologi komunikasi tanpa wayar juga telah dibangunkan dan dipopularkan dengan pantas. Antaranya, teknologi Bluetooth, sebagai teknologi komunikasi tanpa wayar jarak dekat, digunakan secara meluas dalam penghantaran data dan sambungan antara pelbagai peranti. Penyesuai Bluetooth memainkan peranan penting sebagai peranti penting yang menyokong komunikasi Bluetooth. Penyesuai Bluetooth ialah peranti yang boleh menukar peranti bukan Bluetooth kepada peranti yang menyokong komunikasi Bluetooth. Ia merealisasikan sambungan wayarles dan penghantaran data antara peranti dengan menukar isyarat wayarles kepada isyarat Bluetooth. Penyesuai Bluetooth

Apakah fungsi perisian pengurusan akaun Xiaohongshu? Bagaimana untuk mengendalikan akaun Xiaohongshu? Apakah fungsi perisian pengurusan akaun Xiaohongshu? Bagaimana untuk mengendalikan akaun Xiaohongshu? Mar 21, 2024 pm 04:16 PM

Memandangkan Xiaohongshu menjadi popular di kalangan golongan muda, semakin ramai orang mula menggunakan platform ini untuk berkongsi pelbagai aspek pengalaman dan pandangan hidup mereka. Cara mengurus berbilang akaun Xiaohongshu dengan berkesan telah menjadi isu utama. Dalam artikel ini, kami akan membincangkan beberapa ciri perisian pengurusan akaun Xiaohongshu dan meneroka cara mengurus akaun Xiaohongshu anda dengan lebih baik. Apabila media sosial berkembang, ramai orang mendapati diri mereka perlu mengurus berbilang akaun sosial. Ini juga merupakan satu cabaran untuk pengguna Xiaohongshu. Sesetengah perisian pengurusan akaun Xiaohongshu boleh membantu pengguna mengurus berbilang akaun dengan lebih mudah, termasuk penerbitan kandungan automatik, penerbitan berjadual, analisis data dan fungsi lain. Melalui alatan ini, pengguna boleh mengurus akaun mereka dengan lebih cekap dan meningkatkan pendedahan dan perhatian akaun mereka. Di samping itu, perisian pengurusan akaun Xiaohongshu mempunyai

Petua PHP: Cepat Laksanakan Kembali ke Fungsi Halaman Sebelumnya Petua PHP: Cepat Laksanakan Kembali ke Fungsi Halaman Sebelumnya Mar 09, 2024 am 08:21 AM

Tip PHP: Cepat melaksanakan fungsi kembali ke halaman sebelumnya Dalam pembangunan web, kita sering menghadapi keperluan untuk melaksanakan fungsi kembali ke halaman sebelumnya. Operasi sedemikian boleh meningkatkan pengalaman pengguna dan memudahkan pengguna menavigasi antara halaman web. Dalam PHP, kita boleh mencapai fungsi ini melalui beberapa kod mudah. Artikel ini akan memperkenalkan cara cepat melaksanakan fungsi kembali ke halaman sebelumnya dan memberikan contoh kod PHP tertentu. Dalam PHP, kita boleh menggunakan $_SERVER['HTTP_REFERER'] untuk mendapatkan URL halaman sebelumnya

Apa itu Discuz? Definisi dan pengenalan fungsi Discuz Apa itu Discuz? Definisi dan pengenalan fungsi Discuz Mar 03, 2024 am 10:33 AM

"Meneroka Discuz: Definisi, Fungsi dan Contoh Kod" Dengan perkembangan pesat Internet, forum komuniti telah menjadi platform penting untuk orang ramai mendapatkan maklumat dan bertukar pendapat. Di antara banyak sistem forum komuniti, Discuz, sebagai perisian forum sumber terbuka yang terkenal di China, digemari oleh majoriti pembangun dan pentadbir laman web. Jadi, apa itu Discuz? Apakah fungsi yang ada padanya, dan bagaimana ia boleh membantu tapak web kami? Artikel ini akan memperkenalkan Discuz secara terperinci dan melampirkan contoh kod khusus untuk membantu pembaca mengetahui lebih lanjut mengenainya.

See all articles