SQL Server war down - jetzt geht Shop nicht mehr.

Hallo,

heute Nacht hat sich unser MySQL-Server verabschiedet - schuld daran war eine fehlerhafte InnoDB. Jetzt haben wir das Problem, dass das Shop-Frontend nur noch eine weiße Seite zeigt und das Backend fogende Fehlermeldung 

The provided CSRF-Token is invalid. If you're sure that the request to path "/backend/Login?file=app&no-cache=1493714177" should be valid, the called controller action needs to be whitelisted using the CSRFWhitelistAware interface. in engine/Shopware/Components/CSRFTokenValidator.php on line 108

Stack trace:

#0 [internal function]: Shopware\Components\CSRFTokenValidator->checkBackendTokenValidation(Object(Enlight_Controller_ActionEventArgs))
#1 engine/Library/Enlight/Event/Handler/Default.php(91): call_user_func(Array, Object(Enlight_Controller_ActionEventArgs))
#2 engine/Library/Enlight/Event/EventManager.php(214): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs))
#3 engine/Library/Enlight/Controller/Action.php(143): Enlight_Event_EventManager->notify('Enlight_Control...', Object(Enlight_Controller_ActionEventArgs))
#4 engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch('indexAction')
#5 engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#6 engine/Shopware/Kernel.php(180): Enlight_Controller_Front->dispatch()
#7 vendor/symfony/http-kernel/HttpCache/HttpCache.php(491): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#8 engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#9 vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#10 engine/Shopware/Components/HttpCache/AppCache.php(103): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true)
#11 shopware.php(117): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#12 {main}

Cache manuell gelöscht und auch über SSH. Beim Versuch das Template neu zu cachen (über SSH Console) kommt folgende Fehlermeldung:

 [Doctrine\DBAL\DBALException]                                                                                        
  An exception occurred while executing 'INSERT INTO s_core_config_values (`element_id`, `shop_id`, `value`) VALUES (  
      (SELECT id FROM s_core_config_elements WHERE `name` LIKE 'assetTimestamp' LIMIT 1),                              
      ?,                                                                                                               
      ?                                                                                                                
  ) ON DUPLICATE KEY UPDATE s_core_config_values.value = ?;' with params [1, "i:1493713873;", "i:1493713873;"]:        
  SQLSTATE[HY000]: General error: 1030 Got error -1 from storage engine  

[PDOException]                                                         
  SQLSTATE[HY000]: General error: 1030 Got error -1 from storage engine

 

Das sagen die Error-Logs… 

[Tue May 02 10:16:43.950461 2017] [fcgid:warn] [pid 19928] [client X.XXX.XXX.XX:33571] mod_fcgid: stderr: PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1030 Got error -1 from storage engine' in /var/www/clients/client3/web23/web/engine/Shopware/Components/Session/PdoSessionHandler.php:330, referer: https://www.XXXXXXXXXXXXX.com/sale/
[Tue May 02 10:16:43.950485 2017] [fcgid:warn] [pid 19928] [client X.XXX.XXX.XX:33571] mod_fcgid: stderr: Stack trace:, referer: https://www.XXXXXXXXXXXXXcom/sale/
[Tue May 02 10:16:43.950488 2017] [fcgid:warn] [pid 19928] [client X.XXX.XXX.XX:33571] mod_fcgid: stderr: #0 /var/www/clients/client3/web23/web/engine/Shopware/Components/Session/PdoSessionHandler.php(330): PDOStatement->execute(), referer: https://www.XXXXXXXXXXXXX.com/sale/
[Tue May 02 10:16:43.950491 2017] [fcgid:warn] [pid 19928] [client X.XXX.XXX.XX:33571] mod_fcgid: stderr: #1 [internal function]: Shopware\\Components\\Session\\PdoSessionHandler->write('8cf2a962a2fe94c...', 'Shopware|a:7:{s...'), referer: https://www.XXXXXXXXXXXXX.com/sale/
[Tue May 02 10:16:43.950493 2017] [fcgid:warn] [pid 19928] [client X.XXX.XXX.XX:33571] mod_fcgid: stderr: #2 [internal function]: session_write_close(), referer: https://www.XXXXXXXXXXXXX.com/sale/
[Tue May 02 10:16:43.950496 2017] [fcgid:warn] [pid 19928] [client X.XXX.XXX.XX:33571] mod_fcgid: stderr: #3 {main}, referer: https://www.XXXXXXXXXXXXX.com/sale/
[Tue May 02 10:16:43.950498 2017] [fcgid:warn] [pid 19928] [client X.XXX.XXX.XX:33571] mod_fcgid: stderr: thrown in /var/www/clients/client3/web23/web/engine/Shopware/Components/Session/PdoSessionHandler.php on line 330, referer: https://www.XXXXXXXXXXXXX.com/sale/

 

 

Wie kann ich den Fehler beheben???

 

Ich würde sagen da ist noch mehr von deiner Datenbank kaputt.

Probier mal den folgenden Query im phpmyadmin oder mysql auszuführen:

INSERT INTO s_core_config_values (`element_id`, `shop_id`, `value`) VALUES (  
      (SELECT id FROM s_core_config_elements WHERE `name` LIKE 'assetTimestamp' LIMIT 1),                              
      1,                                                                                                               
      "i:1493713873;"                                                                                                                
  ) ON DUPLICATE KEY UPDATE s_core_config_values.value = "i:1493713873;";

Sieht erstmal nicht gut aus, und du solltest schonmal ein Backup in der Hinterhand halten…

Die Error Log von Mysql sollte dir auch noch etwas zu sagen haben.

Thomas

Die Token-Meldung kannst du ignorieren, du hattest wahrscheinlich einen alten Cookie - da hilft Browsercache leeren.

Wende dich da mal an den Hoster, die Fehlermeldung kommt ja vom SQL-Server und nicht von Shopware.

Auch hier wieder der Fehler: #1030 - Got error -1 from storage engine :frowning:

 

@ThomasChr schrieb:

Ich würde sagen da ist noch mehr von deiner Datenbank kaputt.

Probier mal den folgenden Query im phpmyadmin oder mysql auszuführen:

INSERT INTO s_core_config_values (element_id, shop_id, value) VALUES (
(SELECT id FROM s_core_config_elements WHERE name LIKE ‚assetTimestamp‘ LIMIT 1),
1,
„i:1493713873;“
) ON DUPLICATE KEY UPDATE s_core_config_values.value = „i:1493713873;“;

Sieht erstmal nicht gut aus, und du solltest schonmal ein Backup in der Hinterhand halten…

Die Error Log von Mysql sollte dir auch noch etwas zu sagen haben.

Thomas

Wie schon gesagt, da hat entweder die Datenbank oder die Tabelle einen Treffer.

Backup bereithalten und versuchen die letztmöglichen Daten aus der Tabelle zu kratzen.

Was sagt das mysql log?

Ists dein eigener Server? Managed? Webspace?

Wenn Webspace oder Managed dann -> Anbieter kontaktieren

Wenn eigener Server -> Jemanden kontaktieren der entweder die Datenbank repariert oder das Backup zurückspielt

Normalerweise sollte man da noch einiges an Daten aus der Tabelle rauskriegen.

Thomas

Versuche mal, Deine Datenbank(en) wie folgt zu reparieren:

mysqlcheck -u root -p$dbpassword --all-databases --optimize --auto-repair --silent

Timme Hosting - schnelles nginx-Hosting

www.timmehosting.de

Ists dein eigener Server? Managed? Webspace?

Eigener Webserver, wobei ein Freund von mir die Administration da übernimmt - der ist in Sachen Linux, etc. fitter als ich.

Der Zwischenstand:

Die einzelnen Datenbanken sind in Ordnung - irgendwas hats im Index selbst durcheinander gewirbelt. Die DB hab ich jetzt mal auf einen zweiten Server gelegt, sodass zumindest der Shop wieder läuft. 

 

 

Indexe sollte man ja einfach wieder aufbauen können!