mysql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ binlog

Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² MySQL

mysql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ binlog mysql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ binlog mysql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ binlog

Π–ΡƒΡ€Π½Π°Π»Ρ‹ событий β€” ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ самый простой инструмСнт для опрСдСлСния статуса систСмы ΠΈ выявлСния ошибок. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Ρ… Π»ΠΎΠ³ΠΎΠ² Π² MySQL Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅:

Π›ΠΎΠ³ ошибок

Π­Ρ‚ΠΎΡ‚ ΠΆΡƒΡ€Π½Π°Π» содСрТит всС ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΈ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ сСрвСра, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ критичСскиС ошибки, Π° Ρ‚Π°ΠΊΠΆΠ΅ остановки, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ сСрвСра ΠΈ прСдупрСТдСния (warnings). Π‘ Π½Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π² случаС сбоя систСмы. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ всС ошибки выводятся Π² консоль (stderr), Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ошибки Π² syslog (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Debian) ΠΈΠ»ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»:

log_error=/var/log/mysql/mysql_error.log
Ошибки Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π² mysql_error.log

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ этот ΠΆΡƒΡ€Π½Π°Π» Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ для быстрого опрСдСлСния ошибок. А для понимания, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ‚Π° ΠΈΠ»ΠΈ иная ошибка, Π² MySQL присутствуСт ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° [http://dev.mysql.com/doc/refman/5.7/en/perror.html perror]:

ΠžΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ значСния ΠΊΠΎΠ΄ΠΎΠ² ошибок

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ (ΠΎΠ½ ΠΆΠ΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ) Π»ΠΎΠ³

Π’ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Π»ΠΎΠ³ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ измСнСния Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, пригодится для Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ восстановлСния.

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ располоТСниС, срок ΠΆΠΈΠ·Π½ΠΈ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π°

Π£Ρ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ Π½Π΅ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСму ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ, Ρ‚ΠΎ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Π»ΠΎΠ³ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ. Он Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚Π΅Π»Π΅Π½ ΠΊ рСсурсам ΠΈ сниТаСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы.

Π›ΠΎΠ³ запросов

Π’ этом ΠΆΡƒΡ€Π½Π°Π»Π΅ содСрТатся всС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ SQL-запросы, информация ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ². ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ для Π°Π½Π°Π»ΠΈΠ·Π° индСксов ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ выявлСния ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Ρ… запросов:

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π»ΠΎΠ³ ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ располоТСниС Ρ„Π°ΠΉΠ»Π°

Π’Π°ΠΊΠΆΠ΅ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ/ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ сСрвСра MySQL:

Для примСнСния Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ сСрвСр

Π›ΠΎΠ³ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… запросов

Π–ΡƒΡ€Π½Π°Π» пригодится для опрСдСлСния ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ нСэффСктивных запросов. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Π»ΠΎΠ³ΠΎΠ²

Для просмотра Π»ΠΎΠ³ΠΎΠ² Π½Π° Debian (Ubuntu) Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ:

Если Π»ΠΎΠ³ΠΈ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, Ρ‚ΠΎ находятся Π² /var/lib/mysql

Ротация Π»ΠΎΠ³ΠΎΠ²

НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΡΠΆΠΈΠΌΠ°Ρ‚ΡŒ (Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ€ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ) Ρ„Π°ΠΉΠ»Ρ‹ Π»ΠΎΠ³ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π»ΠΈ мСньшС мСста Π½Π° сСрвСрС. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ logrotate, ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π² Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ /etc/logrotate.d/mysql-server :

Π‘ΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠΈ Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π»ΠΎΠ³ΠΈ, ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹

DDL Log

MySQL Ρ‚Π°ΠΊΠΆΠ΅ Π²Π΅Π΄Π΅Ρ‚ Π»ΠΎΠ³ языка описания Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Π½Π΅Π³ΠΎ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ‚ΠΈΠΏΠ° DROP_TABLE and ALTER_TABLE. Π›ΠΎΠ³ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для восстановлСния послС сбоСв, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΈ Π²ΠΎ врСмя выполнСния Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. [http://dev.mysql.com/doc/refman/5.7/en/ddl-log.html DDL Log] β€” Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для чтСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, поэтому Π½Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈ Π½Π΅ удаляйтС Π΅Π³ΠΎ.

Π‘Π°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅

ВсСгда Π²ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ Π»ΠΎΠ³ ошибок, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π»ΠΎΠ³ запросов для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ соСдинСния прилоТСния с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ запросов ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ memcached. Π›ΠΎΠ³ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… запросов пригодится для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ MySQL.

Π­Ρ‚ΠΎΡ‚ тСкст Π±Ρ‹Π» написан нСсколько Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ упомянутыС здСсь инструмСнты ΠΈ софт ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ обновлСния. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, провСряйтС ΠΈΡ… Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксы Π² Mysql ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ запросов

Как ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ доступа ΠΊ Π±Π°Π·Π΅ 1045 Access denied for user

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ad-hoc запросов ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ для ΠΈΡ… исполнСния

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия ΠΎ ΡˆΠ°Ρ€Π΄ΠΈΠ½Π³Π΅ ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ

Настройка Master-Master Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° MySQL Π·Π° 6 шагов

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ составной индСкс Π² Mysql

Анализ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… запросов (ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) Π² MySQL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Percona Toolkit

Check-unused-keys для опрСдСлСния Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… индСксов Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…

Бинтаксис ΠΈ оптимизация Mysql LIMIT

Настройка Master-Slave Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° MySQL Π·Π° 6 простых шагов

Π’ΠΈΠΏΡ‹ ΠΈ способы примСнСния Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ MySQL

Запрос для опрСдСлСния вСрсии Mysql: SELECT version()

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ настройка Mysql ΠΏΠΎΠ΄ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ. ОбновлСно.

3 ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° установки индСксов Π² JOIN запросах

Быстрый подсчСт ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π·Π° Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

И ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ соСдинСниями Π² MySQL

Анализ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… запросов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ EXPLAIN

ОписаниС, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° query_cache_size

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΈ ΠΊΠ°ΠΊ это ΠΏΠΎΡ‡ΠΈΠ½ΠΈΡ‚ΡŒ

ΠŸΡ€Π°Π²ΠΈΠ»Π° Π²Ρ‹Π±ΠΎΡ€Π° Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… для максимальной ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Mysql

ИспользованиС ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΉ для ускорСния слоТных ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΉ

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π–ΡƒΡ€Π½Π°Π»Ρ‹ (logs) Π² MySQL

Π’ MySQL Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ 4 Π²ΠΈΠ΄Π° ΠΆΡƒΡ€Π½Π°Π»Π° (Π»ΠΎΠ³Π°) ΠΈ ΠΏΡ€ΠΈ достаточно ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±Π°Π·Π°ΠΌΠΈ Π½Π° MySQL Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° Π½ΠΈΠΌΠΈ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ. НапримСр, Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Π»ΠΎΠ³ Ρƒ нас Π·Π° сутки Π½Π°Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π°, Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ Тёсткого диска Π½Π° сСрвСрС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΈ Π·Π° Π½ΠΈΠΌΠΈ Π½Π°Π΄ΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ. Однако ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ слСдуСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π° Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ Π»ΠΎΠ³ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π»ΠΎΠ³ΠΈ (ΠΆΡƒΡ€Π½Π°Π»Ρ‹) Π² MySQL ΠΌΠΎΠ³ΡƒΡ‚ принСсти Π½Π΅ΠΌΠ°Π»ΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·Ρƒ.

Π˜Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊΠΈΠ΅ Π»ΠΎΠ³ΠΈ Π²Π΅Π΄Ρ‘Ρ‚ MySQL? Π­Ρ‚ΠΎ:
1. Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Π»ΠΎΠ³ (binary log)
2. лог ошибок (error log)
3. Π»ΠΎΠ³ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ запросов (slow query log)
4. Π»ΠΎΠ³ запросов (general query log)
5. Π»ΠΎΠ³ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΉ (relay log)

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΏΠΎ-своСму ΠΏΠΎΠ»Π΅Π·Π΅Π½.

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Π»ΠΎΠ³

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ mysqlbinlog.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ настройки Π² my.cnf

ΠœΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΎΠ³Π°:
log_bin = /var/log/mysql/mysql-bin.log

ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€, ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 4096 Π±Π°ΠΉΡ‚, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 1073741824 Π±Π°ΠΉΡ‚ (1 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚):
max_binlog_size= 500M

Бколько Π΄Π½Π΅ΠΉ хранится:
expire_logs_days = 3

НаиболСС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΎΠ² Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°:
PURGE BINARY LOGS TO ‘mysql-bin.000’;

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΎΠ² Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ Π΄Π°Ρ‚Ρ‹:
PURGE BINARY LOGS BEFORE ‘YYYY-MM-DD hh:mm:ss’;

Π›ΠΎΠ³ ошибок

ОсобСнно ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π² случаях сбоСв. Π›ΠΎΠ³ содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± остановках, запусках сСрвСра, Π° Ρ‚Π°ΠΊΠΆΠ΅ сообщСния ΠΎ критичСских ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…. ΠœΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ сообщСния с прСдупрСТдСниями (warnings).

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ настройки Π² my.cnf

ΠœΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΎΠ³Π°:
log_error = /var/log/mysql/mysql.err

Π€Π»Π°Π³, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ стоит Π»ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² Π»ΠΎΠ³ Π² Ρ‚ΠΎΠΌ числС прСдупрСТдСния (Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ большС нуля):
log_warnings = 1

НаиболСС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ» Π»ΠΎΠ³Π°:
shell> mysqladmin flush-logs

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ старой части Π»ΠΎΠ³Π° (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² случаС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ выполнСния fluch ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Ρ‘Π½):
shell> mv host_name.err-old backup-directory

Π›ΠΎΠ³ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… запросов

Если Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΠ·-Π·Π° нСэффСктивных запросов ΠΊ Π±Π°Π·Π΅, Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ слСдуСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π»ΠΎΠ³ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… запросов. Π’ случаС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ запросов этот Π»ΠΎΠ³ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ настройки Π² my.cnf

ΠœΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΎΠ³Π°:
log_slow_queries = /var/log/mysql/mysql_slow.log

Π‘ΠΎ скольки сСкунд выполнСния запрос считаСтся ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ, минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ β€” 1 сСкунда, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 10 сСкунд:
long_query_time = 10

Если Π½Π°Π΄ΠΎ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запросы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ индСксы, Π½Π°Π΄ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку:
log-queries-not-using-indexes

Π›ΠΎΠ³ запросов

Π›ΠΎΠ³ содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ… ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ всС SQL запросы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹. ЀактичСски, это Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Π»ΠΎΠ³. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π»ΠΎΠ³ удаляСтся автоматичСски сразу послС выполнСния всСх ΠΊΠΎΠΌΠ°Π½Π΄ (Ρ‚.Π΅. ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ стал Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΌ). Π›ΠΎΠ³ вСдётся Π² соотвСтствии с ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΡΡ‚ΡŒ поступлСния запросов. Π­Ρ‚ΠΎΡ‚ Π»ΠΎΠ³ содСрТит всС запросы ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… (нСзависимо ΠΎΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ). Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли Π΅ΡΡ‚ΡŒ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ (ΠΈΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ) ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ индСксы, ΠΊΠ°ΠΊΠΈΠ΅ запросы ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, Ρ‚ΠΎ этот Π»ΠΎΠ³ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π² Ρ‚Π°ΠΊΠΈΡ… цСлях. Π›ΠΎΠ³ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для случаСв, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ запросы Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ ΠΈ Π² случаях, ΠΊΠΎΠ³Π΄Π° ясно, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ошибка с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ нСизвСстно, ΠΊΠ°ΠΊΠΎΠΉ запрос Π±Ρ‹Π» ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случаС Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ динамичСского SQL-Π°). РСкомСндуСтся Π·Π°Ρ‰ΠΈΡ‰Π°Ρ‚ΡŒ Π»ΠΎΠ³ запросов ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎ паролях ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ настройки Π² my.cnf

ΠœΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΎΠ³Π°:
log = /var/log/mysql/mysql.log

НаиболСС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π»ΠΎΠ³ΠΎΠ², ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° сСрвСра ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° fluch Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ Π»ΠΎΠ³Π°. Но это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ:
shell> mv host_name.log host_name-old.log
shell> mysqladmin flush-logs
shell> mv host_name-old.log backup-directory

Π›ΠΎΠ³ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΉ

Π—Π΄Π΅ΡΡŒ Π»ΠΎΠ³ΠΈΡ€ΡƒΡŽΡ‚ΡΡ измСнСния, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ†ΠΈΠΈ сСрвСра Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΉ. Как ΠΈ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Π»ΠΎΠ³, состоит ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Π½.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ настройки Π² my.cnf

ΠœΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΎΠ³Π°:
relay-log = /var/log/mysql/mysql-relay-bin.log

ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€:
max_relay_log_size = 500М

НаиболСС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

ΠΠ°Ρ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π»ΠΎΠ³Π° ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ остановлСнном Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ (slave) сСрвСрС:
shell> cat new_relay_log_name.index >> old_relay_log_name.index
shell> mv old_relay_log_name.index new_relay_log_name.index

Команда fluch logs ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€ΠΎΡ‚Π°Ρ†ΠΈΡŽ Π»ΠΎΠ³Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

15 ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ mysqlbinlog для Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² MySQL

Π“Π»Π°Π²Π½ΠΎΠ΅ мСню Β» Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Β» Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… MySQL Β» 15 ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ mysqlbinlog для Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² MySQL

mysql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ binlog

НапримСр, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ создаСтС Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈΠ»ΠΈ обновляСтС Π΄Π°Π½Π½Ρ‹Π΅ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅, эти события хранятся Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΆΡƒΡ€Π½Π°Π»Π°Ρ….

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΆΡƒΡ€Π½Π°Π» ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π² Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ MySQL, Π³Π΄Π΅ Π³Π»Π°Π²Π½Ρ‹ΠΉ сСрвСр Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ сСрвСра.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΆΡƒΡ€Π½Π°Π»Π°, ΠΊΠΎΠ³Π΄Π° выполняСтС ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ восстановлСния Π² MySQL.

Команда mysqlbinlog ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для просмотра содСрТимого Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΆΡƒΡ€Π½Π°Π»Π° Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ для чтСния Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ mysqlbinlog для чтСния содСрТимого ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΅Π³ΠΎ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌ mysql.

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ обсудим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ mysqlbinlog:

1. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ²

Из mysql Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ show binary logs, которая ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ всС Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΆΡƒΡ€Π½Π°Π»Ρ‹ Π² вашСй систСмС.

Если Π²Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΆΡƒΡ€Π½Π°Π», Ρ‚ΠΎ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ сообщСниС ΠΎΠ± ошибкС.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ„Π°ΠΉΠ»Ρ‹ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΆΡƒΡ€Π½Π°Π»Π° находятся Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /var/lib/mysql, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

2. ПовСдСниС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Mysqlbinlog

Π”Π°Π»Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ содСрТимоС ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΆΡƒΡ€Π½Π°Π»Π° mysql (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: mysqld-bin.000001) Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅.

НиТС приводится частичный Π²Ρ‹Π²ΠΎΠ΄ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Π’Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ события, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΈ Π²ΠΎ всСй Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² этой систСмС.

3. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ записи для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π’Ρ‹Π²ΠΎΠ΄ mysqlbinlog ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡˆΠ΅Π»ΠΎΠΌΠ»ΡΡŽΡ‰ΠΈΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· всСх ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° сбрасываСт всС события, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Β«crmΒ», Π² Ρ„Π°ΠΉΠ» crm-events.txt

4. ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΆΡƒΡ€Π½Π°Π» для восстановлСния.

Когда Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ mysqlbinlog для восстановлСния Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ·-Π·Π° сбоя, Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваш процСсс восстановлСния создавал Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ ΠΆΡƒΡ€Π½Π°Π»Ρ‹. Если Π΄Π°, Ρ‚ΠΎ Π²Ρ‹ ΠΎΠΊΠ°ΠΆΠ΅Ρ‚Π΅ΡΡŒ Π² Ρ†ΠΈΠΊΠ»Π΅, Π³Π΄Π΅ Π²Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅ восстановлСниС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ само восстановлСниС Π±ΡƒΠ΄Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ².

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ «–to-last-logΒ». ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΈΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° привилСгия root для выполнСния этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Для Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования ΠΈ восстановлСния Π²Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ mysqldump, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π² ситуации, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ приходится Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ послС сбоя, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ mysqlbinlog.

5. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ base-64 Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ BINLOG

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΡ†ΠΈΡŽ base64-output, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ BINLOG, Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² base64.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния для base64-output:

never: Когда Π²Ρ‹ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Β«neverΒ», ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅, Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ BINLOG с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ base64 Π² Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅.

Ρ‚.Π΅. ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Β«neverΒ», Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ mysqlbinlog Π²Ρ‹ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ строки, ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ BINLOG с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ base64.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Π°Ρ опция Β«neverΒ» для Π²Ρ‹Π²ΠΎΠ΄Π° base64 Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… ΠΆΡƒΡ€Π½Π°Π»Π°, Ссли ΠΎΠ½ΠΈ Π½Π΅ содСрТат события Π½Π° основС строк.

always: ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ Β«alwaysΒ», ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ записи BINLOG, ΠΊΠΎΠ³Π΄Π° это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Π΅Ρ‚Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π²Ρ‹Π²ΠΎΠ΄ Π²Ρ‹ΡˆΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Β«alwaysΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ записи BINLOG.

auto: Π­Ρ‚ΠΎ опция ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Если Π²Ρ‹ Π½Π΅ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ base64-decode, ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ auto. Π’ этом случаС mysqlbinlog Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ записи BINLOG Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² событий, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ события Π½Π° основС строк ΠΈ события описания Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°.

Оба ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… утвСрТдСния Ρ‚ΠΎΡ‡Π½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚.

6. ΠžΡ‚Π»Π°Π΄ΠΎΡ‡Π½Π°Ρ информация Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ mysqlbinlog.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ опция ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ провСряСт использованиС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈ памяти послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΆΡƒΡ€Π½Π°Π»Π°.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ debug-info Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ опция ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΆΡƒΡ€Π½Π°Π»Π°, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

7. ΠŸΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ N количСство записСй

ВмСсто чтСния всСго Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° mysql, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π΅Π³ΠΎ Ρ‡Π°ΡΡ‚ΡŒ, ΡƒΠΊΠ°Π·Π°Π² смСщСниС.

НиТС пСрСчислСны ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 10 записСй Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΆΡƒΡ€Π½Π°Π»Π΅ bin mysql.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ события для смСщСния, ΠΈ Π²Ρ‹ Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… записСй. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ пропустит ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 10 000 записСй (событий) ΠΈΠ· ΠΆΡƒΡ€Π½Π°Π»Π°.

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ этот ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΆΡƒΡ€Π½Π°Π»Π°, Π½Π΅Ρ‚ 10 000 записСй, ΠΎΠ½ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ события Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅.

8. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ„Π°ΠΉΠ»

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ пСрСнаправлСния Linux > ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ„Π°ΠΉΠ», ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

9. Π˜Π·Π²Π»Π΅Ρ‡ΡŒ записи, начиная с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ полоТСния

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ mysql Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅. НиТС прСдставлСн частичный Π²Ρ‹Π²ΠΎΠ΄ mysqlbinlog, Π³Π΄Π΅ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Β«15028Β» – Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π°Ρ‡Π½Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ записи Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΆΡƒΡ€Π½Π°Π»Π° с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 15028.

Когда Π²Ρ‹ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΆΡƒΡ€Π½Π°Π»Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, стартовая позиция Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌΡƒ ΠΆΡƒΡ€Π½Π°Π»Ρƒ Π² Π΄Π°Π½Π½ΠΎΠΌ спискС.

10. Π˜Π·Π²Π»Π΅Ρ‡ΡŒ записи Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ полоТСния

Как ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ записи ΠΈΠ· Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΆΡƒΡ€Π½Π°Π»Π° mysql Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

Π’Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ остановится ΠΈΠ· binlog Ρ‚ΠΎΡ‡Π½ΠΎ Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 15028. Когда Π²Ρ‹ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΆΡƒΡ€Π½Π°Π»Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, позиция остановки Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ послСднСму Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌΡƒ ΠΆΡƒΡ€Π½Π°Π»Ρƒ Π² Π΄Π°Π½Π½ΠΎΠΌ спискС.

11. Π‘Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π»Ρ‹ для чистого Π²Ρ‹Π²ΠΎΠ΄Π° Binlog

Когда Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΆΡƒΡ€Π½Π°Π» Π½Π΅ Π±Ρ‹Π» ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚, Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π΅Π΅ сообщСниС, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ здСсь, ΠΎΠ½ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» binlog Π½Π΅ Π±Ρ‹Π» Π·Π°ΠΊΡ€Ρ‹Ρ‚ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Когда Π²Ρ‹ это ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΊ mysql ΠΈ очиститС ΠΆΡƒΡ€Π½Π°Π»Ρ‹, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ очиститС ΠΆΡƒΡ€Π½Π°Π»Ρ‹ ΠΈ снова Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ mysqlbinlog, Π²Ρ‹ Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ binlog Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Π» Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π΅Π΅ сообщСниС Π² вашСм Π²Ρ‹Π²ΠΎΠ΄Π΅ mysqlbinlog.

12. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ SQL-запросы Π² Π²Ρ‹Π²ΠΎΠ΄Π΅

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΊΠ°ΠΊ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΏΠΎΠΌΠΈΠΌΠΎ SQL-запросов, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ mysqlbinlog.

НиТС прСдставлСн частичный Π²Ρ‹Π²ΠΎΠ΄ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ здСсь, ΠΎΠ½ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ SQL-запросы ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΆΡƒΡ€Π½Π°Π»Π°.

Π’ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ Π²Ρ‹ Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

13. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ записСй, начиная с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

НиТС пСрСчислСны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ записи, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π›ΡŽΠ±Ρ‹Π΅ записи Π΄ΠΎ этого Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹.

Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для восстановлСния ΠΈΠ»ΠΈ восстановлСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… дСйствий Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΈ Π·Π° этот ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΌΠ΅Ρ‚ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ понимаСтся Ρ‚ΠΈΠΏΠ°ΠΌΠΈ DATETIME ΠΈ TIMESTAMP сСрвСра MYSQL. Π˜Ρ‚Π°ΠΊ, Ρƒ вас здСсь ΠΌΠ½ΠΎΠ³ΠΎ гибкости.

14. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ записСй Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

Как ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π°Ρ‡Π°Π»Π°, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ врСмя остановки, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

Π’Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ записи Π΄ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ остановки. Π›ΡŽΠ±Ρ‹Π΅ записи ΠΈΠ· Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΆΡƒΡ€Π½Π°Π»Π° mysql, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ остановки, Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ.

15. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΆΡƒΡ€Π½Π°Π» с ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ сСрвСра

Π‘ вашСго локального ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΆΡƒΡ€Π½Π°Π»Ρ‹ mysql, располоТСнныС Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ сСрвСрС.

Для этого Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ IP-адрСс, имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ сСрвСра, ΠΊΠ°ΠΊ описано Π½ΠΈΠΆΠ΅.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅:

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ‚ΠΎΡ‡Π½ΠΎ такая ΠΆΠ΅, ΠΊΠ°ΠΊ привСдСнная Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°:

НиТС приводится частичный Π²Ρ‹Π²ΠΎΠ΄ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Если Ρƒ вас нСдостаточно ΠΏΡ€Π°Π² для ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сообщСниС ΠΎΠ± ошибкС β€œis not allowed to connect”. Π’ этом случаС ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ прСдоставили ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… для своСго локального ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (Ρ‚. Π΅. ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° mysqlbinlog)

Если Π²Ρ‹ нашли ΠΎΡˆΠΈΠ±ΠΊΡƒ, поТалуйста, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ тСкста ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl+Enter.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Mysql Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ binlog

Events are preceded by header comments that provide additional information. For example:

In the first line, the number following at indicates the file offset, or starting position, of the event in the binary log file.

The second line starts with a date and time indicating when the statement started on the server where the event originated. For replication, this timestamp is propagated to replica servers. server id is the server_id value of the server where the event originated. end_log_pos indicates where the next event starts (that is, it is the end position of the current event + 1). thread_id indicates which thread executed the event. exec_time is the time spent executing the event, on a replication source server. On a replica, it is the difference of the end execution time on the replica minus the beginning execution time on the source. The difference serves as an indicator of how much replication lags behind the source. error_code indicates the result from executing the event. Zero means that no error occurred.

When using event groups, the file offsets of events may be grouped together and the comments of events may be grouped together. Do not mistake these grouped events for blank file offsets.

mysqlbinlog ‘s own connection compression does less if transaction payloads are already compressed, but still operates on uncompressed transactions and headers.

For more information on binary log transaction compression, see Section 5.4.4.5, β€œBinary Log Transaction Compression”.

Table 4.22 mysqlbinlog Options

Display a help message and exit.

This option determines when events should be displayed encoded as base-64 strings using BINLOG statements. The option has these permissible values (not case-sensitive):

On a computer having multiple network interfaces, use this option to select which interface to use for connecting to the MySQL server.

Command-Line Format—binlog-row-event-max-size=#
TypeNumeric
Default Value4294967040
Minimum Value256
Maximum Value18446744073709547520

Specify the maximum size of a row-based binary log event, in bytes. Rows are grouped into events smaller than this size if possible. The value should be a multiple of 256. The default is 4GB.

The directory where character sets are installed. See Section 10.15, β€œCharacter Set Configuration”.

Compress all information sent between the client and the server if possible. See Section 4.2.8, β€œConnection Compression Control”.

This option was added in MySQL 8.0.17. As of MySQL 8.0.18 it is deprecated. Expect it to be removed in a future version of MySQL. See Configuring Legacy Connection Compression.

This option was added in MySQL 8.0.18.

While db_name is the default database, statements are output whether they modify tables in db_name or a different database.

Suppose that the binary log was created by executing these statements using statement-based-logging:

Print some debugging information when the program exits.

Print debugging information and memory and CPU usage statistics when the program exits.

A hint about which client-side authentication plugin to use. See Section 6.2.17, β€œPluggable Authentication”.

Read this option file after the global option file but (on Unix) before the user option file. If the file does not exist or is otherwise inaccessible, an error occurs. If file_name is not an absolute path name, it is interpreted relative to the current directory.

For additional information about this and other option-file options, see Section 4.2.2.3, β€œCommand-Line Options that Affect Option-File Handling”.

Use only the given option file. If the file does not exist or is otherwise inaccessible, an error occurs. If file_name is not an absolute path name, it is interpreted relative to the current directory.

For additional information about this and other option-file options, see Section 4.2.2.3, β€œCommand-Line Options that Affect Option-File Handling”.

For additional information about this and other option-file options, see Section 4.2.2.3, β€œCommand-Line Options that Affect Option-File Handling”.

Read binary log files even if they are open or were not closed properly.

Request from the server the public key required for RSA key pair-based password exchange. This option applies to clients that authenticate with the caching_sha2_password authentication plugin. For that plugin, the server does not send the public key unless requested. This option is ignored for accounts that do not authenticate with that plugin. It is also ignored if RSA-based password exchange is not used, as is the case when the client connects to the server using a secure connection.

For information about the caching_sha2_password plugin, see Section 6.4.1.2, β€œCaching SHA-2 Pluggable Authentication”.

Display a hex dump of the log in comments, as described in Section 4.6.9.1, β€œmysqlbinlog Hex Dump Format”. The hex output can be helpful for replication debugging.

Get the binary log from the MySQL server on the given host.

Tell the MySQL Server to use idempotent mode while processing updates; this causes suppression of any duplicate-key or key-not-found errors that the server encounters in the current session while processing updates. This option may prove useful whenever it is desirable or necessary to replay one or more binary logs to a MySQL Server which may not contain all of the data to which the logs refer.

For additional information about this and other option-file options, see Section 4.2.2.3, β€œCommand-Line Options that Affect Option-File Handling”.

For additional information about this and other option-file options, see Section 4.2.2.3, β€œCommand-Line Options that Affect Option-File Handling”.

Skip the first N entries in the log.

Specify the number of open file descriptors to reserve.

Specifying a password on the command line should be considered insecure. To avoid giving the password on the command line, use an option file. See Section 6.1.2.1, β€œEnd-User Guidelines for Password Security”.

The TCP/IP port number to use for connecting to a remote server.

Print the program name and all options that it gets from option files.

For additional information about this and other option-file options, see Section 4.2.2.3, β€œCommand-Line Options that Affect Option-File Handling”.

The transport protocol to use for connecting to the server. It is useful when the other connection parameters normally result in use of a protocol other than the one you want. For details on the permissible values, see Section 4.2.7, β€œConnection Transport Protocols”.

The REPLICATION SLAVE privilege is required to use these options.

Read the binary log from a MySQL server rather than reading a local log file. This option requires that the remote server be running. It works only for binary log files on the remote server, not relay log files.

The REPLICATION SLAVE privilege is required to use this option.

This option was added in MySQL 8.0.19.

Statements in which table names are qualified with database names are not rewritten to use the new name when using this option.

To employ multiple rewrite rules, specify the option multiple times, as shown here:

Display only those events created by the server having the given server ID.

The path name to a file in PEM format containing a client-side copy of the public key required by the server for RSA key pair-based password exchange. This option applies to clients that authenticate with the sha256_password or caching_sha2_password authentication plugin. This option is ignored for accounts that do not authenticate with one of those plugins. It is also ignored if RSA-based password exchange is not used, as is the case when the client connects to the server using a secure connection.

This option applies only if the server was started with the shared_memory system variable enabled to support shared-memory connections.

Display only the statements contained in the log, without any extra information or row-based events. This is for testing only, and should not be used in production systems. It is deprecated, and you should expect it to be removed in a future release.

Do not display any GTIDs in the output. This is needed when writing to a dump file from one or more binary logs containing GTIDs, as shown in this example:

The use of this option is otherwise not normally recommended in production.

On Windows, this option applies only if the server was started with the named_pipe system variable enabled to support named-pipe connections. In addition, the user making the connection must be a member of the Windows group specified by the named_pipe_full_access_group system variable.

OFF : Disable FIPS mode.

ON : Enable FIPS mode.

STRICT : Enable β€œ strict ” FIPS mode.

The permissible ciphersuites for encrypted connections that use TLSv1.3. The value is a list of one or more colon-separated ciphersuite names. The ciphersuites that can be named for this option depend on the SSL library used to compile MySQL. For details, see Section 6.3.2, β€œEncrypted Connection TLS Protocols and Ciphers”.

This option was added in MySQL 8.0.16.

The permissible TLS protocols for encrypted connections. The value is a list of one or more comma-separated protocol names. The protocols that can be named for this option depend on the SSL library used to compile MySQL. For details, see Section 6.3.2, β€œEncrypted Connection TLS Protocols and Ciphers”.

The user name of the MySQL account to use when connecting to a remote server.

Verify checksums in binary log files.

Display version information and exit.

The compression level to use for connections to the server that use the zstd compression algorithm. The permitted levels are from 1 to 22, with larger values indicating increasing levels of compression. The default zstd compression level is 3. The compression level setting has no effect on connections that do not use zstd compression.

This option was added in MySQL 8.0.18.

Processing multiple files. If you have more than one binary log to execute on the MySQL server, the safe method is to process them all using a single connection to the server. Here is an example that demonstrates what may be unsafe :

Another approach is to write all the logs to a single file and then process the file:

You can specify more than one archive file, for example:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *