Statt Datums- und Zeitangaben anzugeben, können Sie die
          Optionen --start-position und
          --stop-position für
          mysqlbinlog zur Angabe von Logpositionen
          verwenden. Diese Optionen arbeiten genauso wie die Optionen
          für Start- und Endzeitpunkt, nur werden Positionsangaben aus
          dem Log spezifiziert. Die Angabe dieser Logposition ist unter
          Umständen eine exaktere Wiederherstellungsmethode –
          insbesondere dann, wenn viele Transaktionen zur gleichen Zeit
          wie die schädliche SQL-Anweisung auftraten. Zur Bestimmung
          der Positionsnummer können Sie mysqlbinlog
          für einen Zeitbereich in der Umgebung des Zeitpunkts
          ausführen, an dem die unerwünschte Transaktion durchgeführt
          wurde, die Ergebnisse aber zur Überprüfung in einer
          Textdatei umleiten. Dies wird wie folgt gemacht:
        
shell>mysqlbinlog --start-date="2005-04-20 9:55:00" \--stop-date="2005-04-20 10:05:00" \/var/log/mysql/bin.123456 > /tmp/mysql_restore.sql
          Dieser Befehl erstellt eine kleine Textdatei im Verzeichnis
          /tmp, die die im zeitlichen Bereich der
          misslichen SQL-Anweisung abgesetzten Anweisungen enthält.
          Öffnen Sie diese Datei mit einem Texteditor und suchen Sie
          nach der Anweisung, die nicht wiederholt werden soll.
          Bestimmen Sie die Positionen im Binärlog für das Beenden und
          Wiederaufnehmen der Wiederherstellung und notieren Sie sich
          diese. Die Positionen sind gekennzeichnet mit
          log_pos, gefolgt von einer Zahl. Nach der
          Wiederherstellung der vorherigen Sicherungsdatei verarbeiten
          Sie die Binärlogdatei unter Verwendung der Positionsnummern.
          So würden Sie z. B. Befehle in der Art der folgenden
          verwenden:
        
shell>mysqlbinlog --stop-position="368312" /var/log/mysql/bin.123456 \| mysql -u root -pshell>mysqlbinlog --start-position="368315" /var/log/mysql/bin.123456 \| mysql -u root -p
          Der erste Befehl stellt alle Transaktionen bis zur angegebenen
          Endposition wieder her. Der zweite Befehl führt die
          Wiederherstellung aller Transaktionen vom angegebenen
          Fortsetzungspunkt bis zum Ende des Binärlogs durch. Da die
          Ausgabe von mysqlbinlog vor jeder
          aufgezeichneten SQL-Anweisung SET
          TIMESTAMP-Anweisungen enthält, finden sich in den
          wiederhergestellten Daten und den zugehörigen MySQL-Logs die
          ursprünglichen Ausführungszeitpunkte der Transaktionen
          wieder.
        
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.
