Назад | Перейти на главную страницу

включить binlog в MySQL на Ubuntu

Как я могу включить binlog в mysql? В документах говорится, что сервер нужно запускать с --log-bin но когда я сделаю:

service mysql start --log-bin=/binlog

Я получил:

start: invalid option: --log-bin=/binlog

И когда я добавляю

log-bin = /binlog

к /etc/mysql/my.cnf он ничего не регистрирует.

"service mysql start" не принимает параметры, специфичные для mysql, поскольку это команда системы инициализации. Вам нужно будет пройти --log-bin в mysqld. Но вам лучше указать это в файле конфигурации ;-)

добавить в раздел [mysqld] my.cnf

log-bin = /path/to/log

и возможно:

expire-logs-days = 14
max-binlog-size  = 500M
server-id        = 1

и имейте в виду, что указанный файл + путь должен быть доступен для записи пользователем mysql! В вашем примере указан / binlog. Пользователю mysql определенно не разрешено записывать файлы в /. Вы можете указать относительный путь, например log-bin=binlog который затем создаст файл с именем binlog внутри вашего каталога данных MySQL, в котором уже установлены разрешения.

В MySQL 5.7 вам также нужно будет добавить server-id следующим образом

[mysqld]
 server_id=master-01
 log_bin

Если вы не добавите server_id вариант, сервер не запускается. Это из Справочник по MySQL 5.7.

остановка службы mysqld

Отредактируйте /etc/mysql/my.cnf: в разделе журналов и репликации найдите log_bin. Не комментируйте log_bin

запуск службы mysqld

Вы можете запустить сервер с помощью

mysqld --log-bin=/binlog