Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да четете MySQL двоични регистрационни файлове (BinLog) с mysqlbinlog

Сървърът на базата данни на MySQL генерира двоични регистрационни файлове за всяка транзакция към базите данни, при условие че администраторът не деактивира или коментира параметъра “log-bin” в конфигурационния файл my.cny. Двоичните регистрационни файлове се записват в двоичен формат. Въпреки че двоичните регистрационни файлове, или известни още като logbin, се използват главно за целите на репликацията на MySQL база данни, понякога може да се наложи да прегледате или прочетете съдържанието на двоичните регистрационни файлове в текстов формат, където помощната програма mysqlbinlog ще ви бъде полезна.

Двоичен регистрационен файл, който обикновено има име с формат host_name-bin.xxxxxx и се съхранява в директория /var/lib/mysql, не може да бъде отворен и прочетен веднага, тъй като е в нечетлив двоичен формат. За да четем двоичните регистрационни файлове в текстов формат, можем да използваме командата mysqlbinlog, която също може да чете релейни регистрационни файлове, написани от подчинен сървър в настройка за репликация. Релейните регистрационни файлове имат същия формат като двоичните регистрационни файлове.

За да използвате помощната програма mysqlbinlog е проста, просто използвайте следния команден синтаксис, за да извикате mysqlbinlog след влизане като root (иначе трябва да посочите потребителско име и парола) за shell чрез SSH:

mysqlbinlog [options] log_file ...

Така че, за да прочетете и покажете съдържанието на двоичния регистрационен файл с име binlog.000001, използвайте тази команда:

mysqlbinlog binlog.000001

Двоичните регистрационни файлове и техните данни вероятно ще бъдат много огромни, което прави почти невъзможно четенето на нещо на екрана. Можете обаче да прехвърлите изхода на mysqlbinlog във файл, който може да бъде отворен за по-късно сърфиране в текстов редактор, като използвате следната команда:

mysqlbinlog binlog.000001 > filename.txt

За да се намали количеството данни, извлечени от двоични регистрационни файлове, има няколко опции, които могат да се използват за ограничаване на данните, които се връщат. Сред полезните са изброени по-долу:

–start-datetime=datetime

Започнете да четете двоичния дневник при първото събитие, имащо клеймо за време, равно или по-късно от аргумента datetime. Стойността дата и час е относителна към местната часова зона на машината, където стартирате mysqlbinlog. Стойността трябва да бъде във формат, приет за типовете данни DATETIME или TIMESTAMP. Например:

mysqlbinlog --start-datetime="2005-12-25 11:25:56" binlog.000001

–stop-datetime=datetime

Спрете да четете двоичния дневник при първото събитие, имащо клеймо за време, равно или по-старо от аргумента datetime. Тази опция е полезна за възстановяване в даден момент. Вижте описанието на опцията –start-datetime за информация относно стойността за дата и час.

–начална позиция=N

Започнете да четете двоичния дневник при първото събитие с позиция, равна на N аргумента. Тази опция се прилага за първия регистрационен файл, посочен в командния ред.

–stop-position=N

Спрете да четете двоичния дневник при първото събитие с позиция, равна или по-голяма от N аргумента. Тази опция се прилага за последния регистрационен файл, посочен в командния ред.

За повече информация за използването на mysqlbinlog, посетете тук.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Кой е най-добрият начин за съхраняване на медийни файлове в база данни?

  2. MySQL IFNULL() Обяснено

  3. Как да проверите размера на базата данни MySQL в Linux

  4. MySQL:Какво е обратна версия на LIKE?

  5. Разлики между SQL и NoSQL бази данни – Сравнение на MySQL и MongoDB