Comment afficher le binlog_format sur un serveur MySQL?

17

Comment afficher le binlog_formatsur un serveur MySQL?

Et si je ne l'aime pas, comment puis-je le régler sur XX de façon permanente?

XX est STATEMENT, ROWou MIXED.

Nifle
la source

Réponses:

14

Matt Healy a répondu à la question sur la façon d'afficher / définir le format à partir du client mysql (sur un serveur en cours d'exécution) avec SET GLOBAL binlog_format = [STATEMENT|ROW|MIXED]

Pour définir la valeur de manière permanente et en supposant que vous avez accès au fichier my.cnf, ajoutez:

[mysqld]
...

binlog_format=XX

...

puis redémarrez votre serveur.

Derek Downey
la source
simple et concis. +1 !!!
RolandoMySQLDBA
2
> [mysqld] .....>> binlog-format = XX>> ..... Cela doit être binlog_format = XXX Underscore!
@Jeff Lorsque mysqld lit /etc/my.cnf, il comprend totalement les tirets (-) et les traits de soulignement (_). Dans le client mysql, un trait de soulignement est obligatoire. +1 de toute façon, et bienvenue sur le DBA StackExchange !!!
RolandoMySQLDBA
1
@jeff merci! Il est étrange qu'ils basculent entre '-' et '_', mais les docs disent définitivement que le paramètre du fichier d'options estbinlog-format=format
Derek Downey
Je pense que le format binlog (avec tiret) est utilisé à partir de la ligne de commande, tandis que binlog_format (avec trait de soulignement) est le nom de la variable système.
Dylan Hogg
27

Pour voir la valeur actuelle de binlog_format:

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

Pour le changer:

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

Source: http://dev.mysql.com/doc/refman/5.1/en/binary-log-setting.html

Matt Healy
la source