NTTのレンタルサーバー「スマイルサーバ」に ownCloud 10.7 のインストールを試みましたが、MySQLのバイナリロギング形式が “STATEMENT” だったためインストールが出来ませんでした。
エラーメッセージ
Error while trying to create admin user: An exception occurred while executing 'INSERT INTOoc_migrations
(app
,version
) SELECT ?,? FROMoc_migrations
WHEREapp
= ? ANDversion
= ? 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 INTOoc_migrations
(app
,version
) SELECT ?,? FROMoc_migrations
WHEREapp
= ? ANDversion
= ? 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 INTOoc_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 INTOoc_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 |
+---------------+-------+
コメント