web-dev-qa-db-ja.com

UbuntuのMySQLでbinlogを有効にする

Mysqlでbinlogを有効にするにはどうすればよいですか?ドキュメントは--log-binでサーバーを起動するように言っていますが、私が実行すると:

service mysql start --log-bin=/binlog

私は得ます:

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

そして私が追加するとき

log-bin = /binlog

/etc/mysql/my.cnfには何も記録されません。

1
pguardiario

「service mysql start」は、mysql固有のオプションを受け入れません。これは、initシステムのコマンドだからです。 --log-binをmysqldに渡す必要があります。しかし、あなたはそれを設定ファイルで指定することを好むはずです;-)

my.cnfの[mysqld]スタンザを追加します

log-bin = /path/to/log

そして多分:

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

また、指定されたファイルとパスがmysqlユーザーによって書き込み可能でなければならないことに注意してください。あなたの例は/ binlogを指定しました。 mysqlユーザーは、/へのファイルの書き込みを許可されていません。 log-bin=binlogのような相対パスを指定すると、パーミッションがすでに設定されているMySQLデータディレクトリ内にbinlogというファイルが作成されます。

12
matt_gnu

MySQL 5.7では、次のようにserver-idを追加する必要もあります

[mysqld]
 server_id=master-01
 log_bin

server_idオプションを追加しない場合、サーバーは起動しません。これは MySQL 5.7リファレンス からのものです。

6
Joseph

mysqldサービスの停止

/etc/mysql/my.cnfを編集します。ロギングとレプリケーションの下でlog_binを見つけます。 log_binのコメントを解除します

mysqld startサービス

3
Peter Nduati