ownCloud MySQLのバイナリロギング形式が “STATEMENT” の場合、インストール出来ない

NTTのレンタルサーバー「スマイルサーバ」に ownCloud 10.7 のインストールを試みましたが、MySQLのバイナリロギング形式が “STATEMENT” だったためインストールが出来ませんでした。

エラーメッセージ

Error while trying to create admin user: An exception occurred while executing 'INSERT INTO oc_migrations (app,version) SELECT ?,? FROM oc_migrations WHERE app = ? AND version = ? HAVING COUNT(*) = 0' with params ["core", 20170101010100, "core", 20170101010100]:
 SQLSTATE[HY000]: General error: 1665 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.

エラー画面

バイナリロギング形式の変更

バイナリロギング形式を “MIXED” Or “ROW” に変更すれば良さそうでしたので、ダメ元で提供されているphpMyAdminで以下のSQLで設定変更を試みましたが権限がなくダメでした…

SET GLOBAL binlog_format = 'ROW';
SET GLOBAL binlog_format = 'MIXED';

その他のバージョン

ownCloud 10.7 以外にも “10.0.10”, “9.1.8”, “8.1.12” も試しましたが同様のエラーでインストール出来ず…

ownCloud 10.0.10 のエラー

メッセージ

Error while trying to create admin user: An exception occurred while executing 'INSERT INTO oc_migrations (app,version) SELECT ?,? FROM oc_migrations WHERE app = ? AND version = ? HAVING COUNT(*) = 0' with params ["core", 20170101010100, "core", 20170101010100]:
 SQLSTATE[HY000]: General error: 1665 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.

エラー画面

ownCloud 9.1.8 のエラー

メッセージ

An exception occurred while executing 'INSERT INTO oc_users ( uid, password ) VALUES( ?, ? )' with params ["xxxxxxxx", "xxxxxxxxxxxxxxxx"]:
 SQLSTATE[HY000]: General error: 1665 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.

エラー画面

ownCloud 8.1.12 のエラー

メッセージ

An exception occurred while executing 'INSERT INTO oc_users ( uid, password ) VALUES( ?, ? )' with params ["xxxxxxxxx", "1|$2xxxxxxxxxxxxxxxxxxxRo66yF4LNIHayC"]:
 SQLSTATE[HY000]: General error: 1665 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.

エラー画面

ownCloud 7.0.15 のみインスト―ル可能

どこのバージョンから変わったか分かりませんが、最終的に公式サイトにリンクが載っている最も古いバージョンの ownCloud 7.0.15 のみスマイルサーバにインストールすることが出来ました。

Older Versions - ownCloud
Changelog

その他

過去に ownCloud をインストールしたことがあるエックスサーバーのバイナリロギング形式を確認したところ “ROW” でした。

SHOW GLOBAL VARIABLES LIKE 'binlog_format';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format |  ROW  |
+---------------+-------+

コメント

タイトルとURLをコピーしました