# # # # #

ownCloudのバージョンアップに失敗した場合の対処方法

2015年5月9日 (土) 02:14時点におけるYosuke (ノート | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)

ownCloud を最新版 (8.0.3) にアップデートしようとした際、途中でエラーになってしまった。

エラーの内容

An exception occurred while executing 'INSERT INTO `oc_oc_appconfig_abcde1234fghi` SELECT * FROM `oc_appconfig`': 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.

対策

MySQL の 'binlog_format' を変更する

'MIXED' にすれば良いらしい。

現在の設定を確認

mysql> SHOW GLOBAL VARIABLES LIKE 'binlog_format';
+---------------+-----------+
| Variable_name | Value     |
+---------------+-----------+
| binlog_format | STATEMENT |
+---------------+-----------+
1 row in set (0.00 sec)

'MIXED' に変更

mysql> SET GLOBAL binlog_format = 'MIXED';
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW GLOBAL VARIABLES LIKE 'binlog_format';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | MIXED |
+---------------+-------+
1 row in set (0.00 sec)

mysql>
mysql> quit
Bye

以上でエラーが出なくなり、アップデートに成功した。

参考

https://github.com/owncloud/core/issues/16131

最終更新: 2015年5月9日 (土) 02:14
# # # # #