¿Cómo hago que binlog-format = ROW sea el inicio predeterminado en el archivo /etc/my.cnf?

9

Puedo ejecutar la consulta SET GLOBAL binlog_format = 'ROW' y funciona para esa sesión.

¿Cómo hago que esta configuración se mantenga después de detener y reiniciar MySQL?

NOTA: Estoy en la versión 5.5.19 de MySQL (con Moodle) y acabo de actualizar de MyISAM a InnoDB y, por lo tanto, necesito esta nueva configuración.

Intenté agregar estos dos comandos (por separado) a my.cnf: binlog-format = ROW y binlog_format = ROW y ninguno funciona. Detuve y reinicié MySQL cada vez que cambié my.cnf.

El error que recibo sin configurar esto es el nefasto mensaje de error:

Información de depuración: No se puede ejecutar la declaración: imposible de escribir en el registro binario ya que BINLOG_FORMAT = STATEMENT y al menos una tabla usa un motor de almacenamiento limitado al registro basado en filas. InnoDB se limita al registro de filas cuando el nivel de aislamiento de transacción es LEÍDO COMPROMETIDO o LEÍDO NO COMPROMETIDO.

Constanza
fuente

Respuestas:

15

Creo que su problema puede provenir de donde escribió la directiva

Asegúrese de colocar la opción debajo del [mysqld]encabezado en /etc/my.cnf

[mysqld]
binlog_format = ROW

Si lo coloca debajo de cualquier otro encabezado, el proceso mysqld no lo verá.

Darle una oportunidad !!!

RolandoMySQLDBA
fuente
Esto funcionó! Sí, estaba bajo otro encabezado.
Constance
0

3 valores para binlog_format

[mysqld]
binlog_format = ROW
[mysqld]
binlog_format = STATEMENT
[mysqld]
binlog_format = MIXED
Alternativas
fuente