2016-05-11 8 views
1

Ich weiß, dass es da draußen viele Fragen gibt, aber leider scheint keine Lösung mein Problem zu lösen. Ich habe viel Zeit damit verbracht, die Lösung zu finden, und habe mit meinem begrenzten Wissen nicht viel erreicht.Amazon EC2 - Fehler beim Aufbau der Datenbankverbindung - mysql dead aber subsys gesperrt

Ich benutze Amazon kostenlose Tier und Hosting einer Wordpress-Website. Ich habe LAMP und Wordpress installiert. Die Website befindet sich jetzt im Entwicklungsmodus. Anfangs war alles gut, aber nach einiger Zeit fing ich plötzlich an, das Problem Fehler beim Herstellen der Datenbankverbindung sehr häufig zu erhalten.

einige Ergebnisse, wenn das Problem aufgetaucht:

  1. sudo service mysqld statusmysqld dead but subsys locked zurück
  2. Deeper im Protokoll:

    InnoDB: Initializing buffer pool, size = 10.0M 
    InnoDB: mmap(10731520 bytes) failed; errno 12 
    InnoDB: Completed initialization of buffer pool 
    InnoDB: Fatal error: cannot allocate memory for the buffer pool 
    Completed initialization of buffer pool 
    InnoDB: Fatal error: cannot allocate memory for the buffer pool 
    [ERROR] Plugin 'InnoDB' init function returned error. 
    [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 
    [ERROR] Unknown/unsupported storage engine: InnoDB 
    [ERROR] Aborting 
    /usr/libexec/mysql55/mysqld: Shutdown complete 
    

Also, was ich habe, wie unten gemacht sind, aber keiner von sie funktioniert bei mir noch:

  1. Restart httpd und mysqld >>>>> OK für ein paar Minuten, dann wieder das Problem bekam
  2. Make Swap-Datei von 1 GB >>>>> sogar 2GB nicht für mich arbeiten. OK für eine Weile (einige Stunden), aber das Problem kommen zurück
  3. Verminderte innodb_buffer_pool_size unten 10MB, aber immer noch nicht glücklich

Ich habe wirklich keine Ahnung, wie dieses Problem zu sortieren. Was ich merkte, ist, wenn ich auf dem neuen Server anfange, ist es gut für eine Weile, dann kommt das Problem. Jede Hilfe und Führung wird sehr geschätzt.

Danke.

+0

Haben Sie die Lösung von hier versucht? http://stackoverflow.com/questions/10284532/amazon-ec2-mysql-aborting-start-because-innodb-mmap-x-bytes-failed-errno-12 –

+0

@MukeshRam danke für den Vorschlag. Ich habe es durchgespielt und die Lösung versucht, indem ich die Auslagerungsdatei hinzufüge. Das hat auch nicht für mich funktioniert. Wenn es schlimmer geworden ist, kann ich jetzt nicht einmal SSH zu meinem Server bringen. Sieht so aus, als müsste ich vor dem Installieren von LAMP eine andere Instanz einrichten und diese einstellen? – UserProg

Antwort

0

Alle oben genannten Probleme treten auf, wenn Sie MYSQL auf einer E2-Mikroinstanz von AWS Free Tier ausführen, da es bereits über weniger Arbeitsspeicher verfügt. Dieses Problem wird eskalieren, wenn Sie Ihre Website live starten. Ich schlage vor, dass Sie einen separaten AWS RDS MYSQL-Server in der freien Schicht starten und diesen als Datenbank für Ihre Wordpress-Website verwenden. Überprüfen Sie diesen Link AWS RDS Free Tier

Sie werden viele Vorteile haben, wie es keine Notwendigkeit, mit Sicherheit und Leistung Patches Lieferanten zu halten, wenn Sie Amazon RDS verwenden, wird dies von der AWS betreut. RDS umfasst auch Sicherungs- und Wiederherstellungsdienste, wodurch eine weitere häufige Aufgabe in To-Do-Listen entfällt.

+0

Im Moment habe ich nicht viel Zeit, um RDS zu erforschen. Das ist der Grund, warum ich zu der obigen Option gegangen bin. Während der Wert von 'innodb_buffer_pool_size' direkt in der Datei' my.cnf' im Log funktioniert, habe ich ein Problem, wo ich nach dem Kopieren der Datei 'my-small.cnf' anstelle von' my.cnf' das Log nicht anzeigen kann der Wert von "innodb_buffer_pool_size" wie in der neuen Datei angegeben, aber anstatt 128M anzuzeigen. Irgendein Teil, den ich vermisse? – UserProg