2017-12-13 10 views
0

Drupalで問題が発生しました。コンテンツタイプ:既に〜を持つパーソナライズされたコンテンツタイプで新しいフィールドタイプ(例:テキスト) 10のフィールドタイプは、ウェブサイトが利用できなくなると、私はページを離れて(新しいフィールドタイプ)「削除」をクリックしない場合、私はこのメッセージデータベースエラー:1つのトランザクションに挿入されたデータがREDOログサイズの10%を超えています

The website encountered an unexpected error. Please try again later." instead of the website's pages.

を取得し、それは私がウェブサイトを取り戻すOKです。私はそれを許可すると、ページを更新した後、ウェブサイト全体が到達不能になり、それを再び機能させる唯一の方法は、ウェブサイトのホストにデータベースの保存を復元することです。

2つの異なるコンテンツタイプで新しいフィールドを追加しようとしましたが、同じ結果が届きました。作成するフィールドの数に制限があるようです(私はウェブサイト全体で最大約25個までしか作成しません)。

誰でもこの問題を解決するのに役立つでしょうか?ここで

は「長い」というエラー・メッセージ・ログの初めである:

The website encountered an unexpected error. Please try again later. Drupal\Core\Database\DatabaseExceptionWrapper: SQLSTATE[42000]: Syntax error or access violation: 1118 The size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size.: INSERT INTO {watchdog} (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9); Array ([:db_insert_placeholder_0] => 5 [:db_insert_placeholder_1] => php [:db_insert_placeholder_2] => %type: @message in %function (line %line of %file). [:db_insert_placeholder_3] => a:6:{s:5:"%type";s:45:"Drupal\Core\Database\DatabaseExceptionWrapper";s:8:"@message";s:1062480:"SQLSTATE[42000]: Syntax error or access violation: 1118 The size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size.: INSERT INTO {cache_default} (cid, expire, created, tags, checksum, data, serialized) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6) ON DUPLICATE KEY UPDATE cid = VALUES(cid), expire = VALUES(expire), created = VALUES(created), tags = VALUES(tags), checksum = VALUES(checksum), data = VALUES(data), serialized = VALUES(serialized); Array ([:db_insert_placeholder_0] => views_data:en [:db_insert_placeholder_1] => -1 [:db_insert_placeholder_2] => 1513178721.199

そしてそこにテキストがたくさんある...そして、最後の段落は、その次のとおりです。設定のための

Drupal\dblog\Logger\DbLog->log(3, '%type: @message in %function (line %line of %file).', Array) (Line: 104) 
Drupal\dblog\Logger\DbLog->log(3, '%type: @message in %function (line %line of %file).', Array) (Line: 136) 
Drupal\Core\Logger\LoggerChannel->log(3, '%type: @message in %function (line %line of %file).', Array) (Line: 65) 
Drupal\Core\EventSubscriber\ExceptionLoggingSubscriber->onError(Object) (Line: 92) 
Drupal\Core\EventSubscriber\ExceptionLoggingSubscriber->onException(Object, 'kernel.exception', Object) (Line: 108) 
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.exception', Object) (Line: 230) 
Symfony\Component\HttpKernel\HttpKernel->handleException(Object, Object, 1) (Line: 79) 
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57) 
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47) 
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 99) 
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 78) 
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47) 
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 50) 
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23) 
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 657) 
Drupal\Core\DrupalKernel->handle(Object) (Line: 19) 
+0

かなり明確だと思います。そのSQLSTATEを研究してください。 – jdv

+0

どうすればいいですか? – RPO

+1

このエラーメッセージのために、このサイトを含むウェブとおそらくhttps://dba.stackexchange.com/のような場所を検索してみてください。 DB側で修正する方法を教えています。 – jdv

答えて

0

検索ファイル:

sudo find/-name my.cnf 

デフォルトの設定によっては次の場所にあります。

/etc/mysql/my.cnf

mysqlディレクトリ内innodb_log_file_size検索

sudo grep -rl "innodb_log_file_size" /etc/mysql 

ちょうどあなたが何かすでに設定

オープンmy.cnfを持っているかどうかを確認します

sudo nano /etc/mysql/my.cnf 

をあなたはこのファイルを編集して

を追加することができます
[mysqld] 
innodb_log_file_size=256M 

[mysqld]はセクション名で、ctrl + Wを使用してnanoで検索し、2回追加しないでください!

またはより良い/etc/mysql/conf.d/innodb.cnfを作成し、そこに上記のinnodb設定を置きます。

NB!あなたが持っていることを確認

!includedir /etc/mysql/conf.d/ 

カスタム設定のファイルが含まれる文字列が含まれています。

​​
+0

このソリューション提案をありがとう!やってみます。しかし、まず、私に教えてください:私はMySQLソフトウェアを使用し、私のデータベースにアクセスする方法を見つける必要がありますか?私は相互接続されたサーバー(OVH)にいる。私は「プライベートSQL」オプションを追加する必要があると思う。私は良い道を歩いていますか? – RPO

+0

私はあなたがDebian/Ubuntuベースのホスティングサーバを使い、sudo権限を持ってサーバ設定を編集すると仮定します。 –

+0

... OK、私はこれらのサーバー設定を行う方法を見つけなければなりません。あなたがいくつかの関連するものを見たら、私に「初心者のためのヒント」を与えるのをためらってはいけません。 – RPO

関連する問題