Как я могу включить 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