Как показать binlog_format на сервере MySQL?

17

Как мне показать binlog_formatна сервере MySQL?

И если мне не нравится, как я могу установить его на XX навсегда?

Где XX является STATEMENT, ROWили MIXED.

Nifle
источник

Ответы:

14

Мэтт Хили ответил на вопрос о том, как показать / установить формат из клиента mysql (на работающем сервере): SET GLOBAL binlog_format = [STATEMENT|ROW|MIXED]

Чтобы установить постоянное значение и предположить, что у вас есть доступ к my.cnf, добавьте:

[mysqld]
...

binlog_format=XX

...

и затем перезапустите свой сервер.

Дерек Дауни
источник
просто и лаконично. +1 !!!
RolandoMySQLDBA
2
> [mysqld] .....>> binlog-format = XX>> ..... Это должно быть binlog_format = XXX Подчеркнуть!
@Jeff Когда mysqld читает /etc/my.cnf, он полностью понимает как тире (-), так и подчеркивание (_). В клиенте mysql подчеркивание обязательно. +1 в любом случае, и добро пожаловать в DBA StackExchange !!!
RolandoMySQLDBA
1
@ Jeff спасибо! Странно, что они переключаются между '-' и '_', но в документах определенно говорится, что параметр файла опцииbinlog-format=format
Дерек Дауни
Я думаю, что binlog-формат (с чертой) используется из командной строки, в то время как binlog_format (с подчеркиванием) является именем системной переменной.
Дилан Хогг
27

Чтобы увидеть текущее значение binlog_format:

mysql> show variables like 'binlog_format';
+---------------+-----------+
| Variable_name | Value     |
+---------------+-----------+
| binlog_format | STATEMENT |
+---------------+-----------+
1 row in set (0.00 sec)

Чтобы изменить это:

mysql> SET GLOBAL binlog_format = 'STATEMENT';
mysql> SET GLOBAL binlog_format = 'ROW';
mysql> SET GLOBAL binlog_format = 'MIXED';

Источник: http://dev.mysql.com/doc/refman/5.1/en/binary-log-setting.html

Мэтт Хили
источник