Comment puis-je faire de binlog-format = ROW le démarrage par défaut dans le fichier /etc/my.cnf?


9

Je peux exécuter la requête SET GLOBAL binlog_format = 'ROW' et cela fonctionne pour cette session.

Comment puis-je conserver ce paramètre après avoir arrêté et redémarré MySQL?

REMARQUE: je suis sur la version 5.5.19 de MySQL (avec Moodle) et je viens de passer de MyISAM à InnoDB et j'ai donc besoin de ce nouveau paramètre.

J'ai essayé d'ajouter ces deux commandes (séparément) à my.cnf: binlog-format = ROW et binlog_format = ROW et aucun ne fonctionne. J'ai arrêté et redémarré MySQL chaque fois que je changeais my.cnf.

L'erreur que j'obtiens sans que cela ne soit défini est le message d'erreur néfaste:

Informations de débogage: impossible d'exécuter l'instruction: impossible d'écrire dans le journal binaire car BINLOG_FORMAT = STATEMENT et au moins une table utilise un moteur de stockage limité à la journalisation basée sur les lignes. InnoDB est limité à la journalisation des lignes lorsque le niveau d'isolement des transactions est READ COMMITTED ou READ UNCOMMITTED.

Réponses:


15

Je pense que votre problème peut provenir de l'endroit où vous avez écrit la directive

Assurez-vous de placer l'option sous l'en- [mysqld]tête dans /etc/my.cnf

[mysqld]
binlog_format = ROW

Si vous le placez sous un autre en-tête, le processus mysqld ne le verra pas.

Essaie !!!


Ça a marché! Oui, c'était sous une autre rubrique.
Constance

0

3 valeurs pour binlog_format

[mysqld]
binlog_format = ROW
[mysqld]
binlog_format = STATEMENT
[mysqld]
binlog_format = MIXED
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.