web-dev-qa-db-ja.com

log_bin変数を使用してMySQLバイナリロギングを無効にする

APTを使用してdebianパッケージによってインストールされたデフォルトのMySQL設定ファイル/etc/mysql/my.cnfは、しばしばlog_bin変数を設定するため、binlogが有効になっています:

log_bin = /var/log/mysql/mysql-bin.log

そのようなインストールでバイナリロギングを無効にしたい場合は、もちろんmy.cnfの行をコメントアウトしますが、debianスタイルでlog_binを明示的にOFFに設定してバイナリロギングを無効にする方法があるかどうか疑問に思います。 /etc/mysql/conf.d/myCustomFile.cnfのようなインクルードファイルなので、デフォルトのmy.cnfは変更されず、必要に応じてaptによって簡単に更新できます。

「log_bin = 0 "、「log_bin = OFF」または「log_bin ="を試しましたが、どれも機能しません...

39
Nicolas Payart

これは古い質問ですが、正しいオプション名を思い出そうとしていたときに検索で出てきたので、それがわかったので、ここに詳細を追加します。

質問の重要な部分は次のとおりです。

/etc/mysql/conf.d/myCustomFile.cnfのようなインクルードファイルで

これは、オプションskip-log-binを使用して、付属のオプションファイルから実行できます。例えば。次の内容で/etc/mysql/conf.d/disable_binary_log.cnfを作成できます。

[mysqld]
skip-log-bin

他のオプションのプレフィックスとしてskip-を追加して、この方法でも無効にすることができます。

48
John Dalton

MySQL 8では、これは disable_log_bin オプションであり、my.cnfセクションの[mysqld]ファイルにパラメーターなしで指定する必要があります。

[mysqld]
disable_log_bin
some-other-option = any-value
9
Peter VARGA

次のように、log_binはパラメータを受け入れないはずです。

log_bin

ブール値のパラメータであるため、何もない。

ただし、値が設定されている場合、ログは有効になり、値はbinlogベース名として解釈されます。

ログオプションには、あまり直感的ではなく、バージョン間で形式を変更するという履歴があります(私はあなたを見て、遅いログです)。

4
jynus

複製しない場合は、my.iniファイルまたはmy.cnfファイルを変更して、ビンログを無効にできます。 my.iniまたは/etc/my.cnf(/etc/mysql/my.cnf)を開き、次のように入力します。

# vi /etc/my.cnf

「log_bin」と書かれている行を見つけて、次のように削除またはコメント化します。

#log_bin = /var/log/mysql/mysql-bin.log

次の行を削除またはコメントする必要もあります。

#expire_logs_days = 10

#max_binlog_size = 100M

ファイルを閉じて保存します。最後に、mysqlサーバーを再起動します。

# service mysql restart

4
Mahesh Patil

MariaDBの Manual から( https://mariadb.com/kb/en/library/activating-the-binary-log/

名前を指定しない場合(オプションで絶対パスを含めることができます)、デフォルトはdatadir/log-basename-bin、datadir/mysql-binまたはdatadir/mariadb-binになります。

しかしながら、

SUPER権限を持つクライアントは、sql_log_bin変数を設定することにより、現在のセッションのバイナリログを無効および再度有効にできます。

SET sql_log_bin = 0;

SET sql_log_bin = 1;

ただし、インストール時にデフォルトで有効になっていると言う場合は、my.cnfファイルから行を削除して無効にしてから、mysqldを再起動する必要があります。バイナリデータをパージすることもできます( https://dev.mysql.com/doc/refman/5.6/en/purge-binary-logs.html

PURGE BINARY LOGS

最後に、他の投稿者の回答が言及しているように、 MySQL 8 には、構成ファイルの[mysqld]セクションの--skip-log-binまたは--disable-log-binオプションを使用して、構成ファイルからのバイナリロギングを明示的にオフにするオプションがあります。

バイナリロギングを無効にするには、起動時に--skip-log-binまたは--disable-log-binオプションを指定できます。これらのオプションのいずれかが指定され、--log-binも指定されている場合、後で指定されたオプションが優先されます。バイナリロギングが無効になっている場合、log_binシステム変数はOFFに設定されます。

3
jonnyjandles

私が知っているように、パッケージを更新した後、設定ファイルは古いものになるはずなので、更新後も同じ設定ファイルができます。それ以外の場合は、パス$ MYSQL_HOME/my.cnfに2番目の構成ファイルを作成できます。これはサーバー固有のオプション用であり、私が知っているように、グローバル/etc/my.cnfの設定を上書きします

0
Tamas Szasz