

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Aktivieren der MariaDB-Binärprotokoll-Kommentierung
<a name="USER_LogAccess.MariaDB.BinarylogAnnotation"></a>

In einer MariaDB-DB-Instance können Sie das Ereignis `Annotate_rows` verwenden, um ein Zeilenereignis mit einer Kopie der SQL-Abfrage zu kommentieren, die das Zeilenereignis ausgelöst hat. Diese Methode bietet eine ähnliche Funktionalität wie das Aktivieren des Parameters `binlog_rows_query_log_events` für eine RDS-for-MySQL-DB-Instance.

Sie können Binärprotokoll-Anmerkungen global aktivieren, indem Sie eine benutzerdefinierte Parametergruppe erstellen und den Parameter `binlog_annotate_row_events` auf **1** setzen. Sie können Anmerkungen auch auf Sitzungsebene aktivieren, indem Sie aufrufe `SET SESSION binlog_annotate_row_events = 1`. Verwenden Sie `replicate_annotate_row_events`, um Binärprotokoll-Anmerkungen auf der Replika-Instance zu replizieren, falls binäre Protokollierung darauf aktiviert ist. Für die Nutzung dieser Einstellungen sind keine besonderen Berechtigungen erforderlich.

Nachfolgend sehen Sie ein Beispiel für eine zeilenbasierte Transaktion in MariaDB. Die Verwendung von zeilenbasierter Protokollierung wird ausgelöst, indem der Transaktionsisolationslevel auf "read-committed" eingestellt wird.

```
CREATE DATABASE IF NOT EXISTS test;
USE test;
CREATE TABLE square(x INT PRIMARY KEY, y INT NOT NULL) ENGINE = InnoDB;
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
BEGIN
INSERT INTO square(x, y) VALUES(5, 5 * 5);
COMMIT;
```

Ohne Anmerkungen sehen die Einträge des Binärprotokolls für die Transaktion wie folgt aus:

```
BEGIN
/*!*/;
# at 1163
# at 1209
#150922  7:55:57 server id 1855786460  end_log_pos 1209         Table_map: `test`.`square` mapped to number 76
#150922  7:55:57 server id 1855786460  end_log_pos 1247         Write_rows: table id 76 flags: STMT_END_F
### INSERT INTO `test`.`square`
### SET
###   @1=5
###   @2=25
# at 1247
#150922  7:56:01 server id 1855786460  end_log_pos 1274         Xid = 62
COMMIT/*!*/;
```

Die folgende Anweisung aktiviert Anmerkungen auf Sitzungsebene für diese Transaktion und deaktiviert die Anmerkungen nach dem Übertragen der Transaktion:

```
CREATE DATABASE IF NOT EXISTS test;
USE test;
CREATE TABLE square(x INT PRIMARY KEY, y INT NOT NULL) ENGINE = InnoDB;
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
SET SESSION binlog_annotate_row_events = 1;
BEGIN;
INSERT INTO square(x, y) VALUES(5, 5 * 5);
COMMIT;
SET SESSION binlog_annotate_row_events = 0;
```

Mit Anmerkungen sehen die Einträge des Binärprotokolls für die Transaktion wie folgt aus:

```
BEGIN
/*!*/;
# at 423
# at 483
# at 529
#150922  8:04:24 server id 1855786460  end_log_pos 483  Annotate_rows:
#Q> INSERT INTO square(x, y) VALUES(5, 5 * 5)
#150922  8:04:24 server id 1855786460  end_log_pos 529  Table_map: `test`.`square` mapped to number 76
#150922  8:04:24 server id 1855786460  end_log_pos 567  Write_rows: table id 76 flags: STMT_END_F
### INSERT INTO `test`.`square`
### SET
###   @1=5
###   @2=25
# at 567
#150922  8:04:26 server id 1855786460  end_log_pos 594  Xid = 88
COMMIT/*!*/;
```