Восстановите базу данных mysql, используя двоичный файл журнала (log-bin) в Windows

Использование двоичного файла журнала для восстановления базы данных MySQL очень полезно, особенно при неправильной работе. Ниже мой метод сделать это на Windows. Если этот вопрос поможет вам, пожалуйста, отметьте его как "Полезный", спасибо.

1 ответ

Во-первых, мы должны проверить, включена ли функция бинарного журнала Mysql.

  • Откройте клиент командной строки Mysql.
  • Выполнить команду: показать переменные, такие как 'log_bin%'

Вы увидите его помеченным как "включено" или "выключено". Если отображается "off", вам нужно открыть конфигурационный файл "my.ini" и добавить конфигурацию ниже в строке 120.

# Binary Logging.
# log-bin
# You could change 'C:\Danny\MySql-BackUp\log-bin' to your own directory.
log_bin=C:\Danny\MySql-BackUp\log-bin\mysql-bin

Вы можете найти "my.ini" в "C:\ProgramData\MySQL\MySQL Server 5.7".

После этого вы получите бинарный файл журнала, пока данные изменяются в базе данных.

Экспортируйте файл журнала в файл sql, это может помочь вам легче найти временную метку и номер, который вы хотите восстановить. Ниже приведена команда cmd:

C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqlbinlog.exe C:\Danny\MySql-BackUp\log-bin\mysql-bin.000003 > C:\Danny\MySql-BackUp\log-bin\bin-log.sql

Вам нужно найти start-positiont и end-position в bin-log.sql и выполнить приведенную ниже команду для восстановления ваших данных.

C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqlbinlog --no-defaults C:\Danny\M
ySql-BackUp\log-bin\mysql-bin.000003 --start-position="4" --stop-position="912"
| mysql -uroot -p123456 databaseName

Формат команды: mysql -u[имя пользователя] -p[пароль] [имя базы данных]

Другие вопросы по тегам