Moodle telepítési probléma

A telepítés egyszerű rutinfeladat tűnt, azonban mindig akadhatnak apróbb döccenők, mint ahogyan az jelen esetben is történt. A következő komponensekből építkeztünk:

  • Debian Jessie 8.2
  • Apache 2.4
  • PHP 5.6
  • MariaDB 10.1
  • Moodle 3.0

A telepítés során kapásból MariaDB-t telepítettünk a MySQL helyett, és a Moodle volt az első alkalmazás, amely helyet kapott a szerveren. Azonban a Moodle telepítése közben az alábbi hibaüzeneteket kaptuk a böngészőben:

Debug info: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.
INSERT INTO mdl_message_providers (name,component,capability) VALUES(?,?,?)
[array
0 => 'notices',
1 => 'moodle',
2 => 'moodle/site:config',
)]
Error code: dmlwriteexception

És rögtön alatta még ezt is:

Stack trace:
line 446 of /lib/dml/moodle_database.php: dml_write_exception thrown
line 1164 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
line 1210 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw()
line 274 of /lib/messagelib.php: call to mysqli_native_moodle_database->insert_record()
line 1537 of /lib/upgradelib.php: call to message_update_providers()
line 269 of /admin/index.php: call to install_core()

A megoldás pedig a következő: a /etc/mysql/my.cnf fájlban, a [mysqld] szekcióba az alábbi sort szúrtuk be:

binlog_format = mixed

A MariaDB kiszolgáló újraindítása után ment minden, mint a karikacsapás. A bináris naplófájlok beállításáról pedig itt olvashatsz bővebben.