2017-01-04 1 views
0

Ich habe Probleme mit einer meiner Website. Hin und wieder kommt es zu einem Fehler beim Laden meiner Website "Datenbankverbindung fehlgeschlagen". Ich benutze eine Amazon Linux Server t2.micro Instanz. Bitte kann jemand helfen ich bin verzweifelt. Ich habe keine Ahnung, was das Problem ist, und ich bin ziemlich neu in diesem Zeug, also möchte ich nichts ändern, ohne es zu wissen, und ich verliere Daten. Dank Meine MySQL-Log-Datei:Wordpress Datenbank Shutdown

170103 18:00:02 InnoDB: Database was not shut down normally! 
InnoDB: Starting crash recovery. 
InnoDB: Reading tablespace information from the .ibd files... 
InnoDB: Restoring possible half-written data pages from the doublewrite 
InnoDB: buffer... 
InnoDB: Doing recovery: scanned up to log sequence number 2104460177 
170103 18:00:02 InnoDB: Starting an apply batch of log records to the  database... 
InnoDB: Progress in percents: 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed 
170103 18:00:02 InnoDB: Waiting for the background threads to start 
170103 18:00:03 InnoDB: 5.5.52 started; log sequence number 2104460177 
170103 18:00:03 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306 
170103 18:00:03 [Note] - '0.0.0.0' resolves to '0.0.0.0'; 
170103 18:00:03 [Note] Server socket created on IP: '0.0.0.0'. 
170103 18:00:04 [Note] Event Scheduler: Loaded 0 events 
170103 18:00:04 [Note] /usr/libexec/mysql55/mysqld: ready for connections. 
Version: '5.5.52' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server (GPL) 
170104 09:09:11 mysqld_safe Number of processes running now: 0 
170104 09:09:11 mysqld_safe mysqld restarted 
170104 09:27:17 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 
170104 9:27:17 [Note] /usr/libexec/mysql55/mysqld (mysqld 5.5.52) starting as process 11744 ... 
170104 9:27:17 [Note] Plugin 'FEDERATED' is disabled. 
170104 9:27:17 InnoDB: The InnoDB memory heap is disabled 
170104 9:27:17 InnoDB: Mutexes and rw_locks use GCC atomic builtins 
170104 9:27:17 InnoDB: Compressed tables use zlib 1.2.8 
170104 9:27:17 InnoDB: Using Linux native AIO 
170104 9:27:17 InnoDB: Initializing buffer pool, size = 128.0M 
170104 9:27:17 InnoDB: Completed initialization of buffer pool 
170104 9:27:17 InnoDB: highest supported file format is Barracuda. 
InnoDB: The log sequence number in ibdata files does not match 
InnoDB: the log sequence number in the ib_logfiles! 
170104 9:27:17 InnoDB: Database was not shut down normally! 
InnoDB: Starting crash recovery. 
InnoDB: Reading tablespace information from the .ibd files... 
InnoDB: Restoring possible half-written data pages from the doublewrite 
InnoDB: buffer... 
170104 9:27:17 InnoDB: Waiting for the background threads to start 
170104 9:27:18 InnoDB: 5.5.52 started; log sequence number 2123585383 
170104 9:27:18 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306 
170104 9:27:18 [Note] - '0.0.0.0' resolves to '0.0.0.0'; 
170104 9:27:18 [Note] Server socket created on IP: '0.0.0.0'. 
170104 9:27:18 [Note] Event Scheduler: Loaded 0 events 
170104 9:27:18 [Note] /usr/libexec/mysql55/mysqld: ready for connections. 
Version: '5.5.52' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server (GPL) 
+0

Mögliche Duplikat von [Mysql innoDB stürzt ständig ab] (http://stackoverflow.com/questions/20484630/mysql-innodb-keeps-crashing) –

+0

Grundsätzlich von dem, was ich in Amazon-Instanz Screenshot sehen kann, schaltet es mysql, weil es ist aus dem Speicher. Gibt es eine Möglichkeit, dies zu begrenzen, ohne den Speicher des Servers zu ändern? –

+0

Für jetzt habe ich einen Tausch von 2GB erstellt, um zu sehen, ob es einen Unterschied macht. 2 Stunden, seit ich es getan habe, scheint es in Ordnung zu sein. Das Problem ist, wenn die Homepage geladen ist dauert es etwa 200-300 MB Speicher –

Antwort

0

Ihre MySQL scheint nicht genug RAM zu haben.

Nehmen wir an, Sie haben einen Kerl (mysql), der ein Paket von Steinen (Daten in MySQL) von Punkt A nach Punkt b über eine Brücke trägt. Durch die Zeiten fügen Sie dem Paket mehr Steine ​​(mehr Daten) hinzu. Und vielleicht gibt es auch mehr Leute (mehr mysql-Instanzen, weil mehr Besucher auf Ihrer Website) auf der Straße.

Dann stellen Sie sich eine Brücke vor, wo all diese Jungs passieren müssen, die ein Gewichtslimit (RAM) hat.

So können nur ein paar Jungs über die Brücke laufen und andere werden entweder warten oder (wenn es zu viele Kerle gibt) mit ihren Paketen zur Hölle fahren.

Sie können entweder einige Daten löschen oder die Anzahl der Benutzer beschränken oder versuchen, die Pakete zu optimieren.

Müssen Sie wirklich alle Daten übertragen oder gibt es eine Möglichkeit, die Daten schneller zu produzieren?

Für die zweite Option lesen Sie über mysql-Indizes.