2014-09-19 5 views
2

Надеюсь, вы можете мне помочь. Я не могу продолжать перезапускать свой экземпляр ec2 на Amazon.Ошибка при установлении соединения с базой данных EC2 Amazon

У меня есть два сайта Wordpress, размещенных там. Мои сайты всегда хорошо работали до двух месяцев назад, один из них начал эту проблему. Я пробовал все варианты, и единственным решением было переконфигурировать.

Теперь, когда все было правильно с двумя. На втором сайте возникла та же проблема. Я думаю, что Амазонка клоунадала меня.

Я использую бесплатный экземпляр micro. Если кто-нибудь знает, в чем проблема, пожалуйста, помогите мне!

+0

Вам не хватает важной информации. Где находится сервер mysql? В том же случае? Работает ли mysql? – datasage

+0

сожалеет о недостающей информации. да, mysql находится в том же экземпляре, и он запущен. Я уже сделал все это -> http://setuix.com/how-to-fix-the-error-establishing-a-database-connection-in -wordpress/ – 2014-09-19 18:19:37

+0

У меня такая же проблема. При удаче? –

ответ

3

Ваша проблема будет ограниченной памятью, выделенной для экземпляров T1 Micro в EC2. Я предполагаю, что вы используете ANI Linux в этом случае, и если используется альтернативная версия Linux, у вас могут быть разные местоположения для ваших файлов журналов и конфигураций.

Убедитесь, что вы являетесь пользователем root.

Посмотри лог MySQL в следующем месте:

/var/log/mysqld.log 

Если вы видите повторяющиеся экземпляры следующее это довольно уверено, что 0.6GB памяти, выделенную для микро, например, не разрезая его.

150714 22:13:33 InnoDB: Initializing buffer pool, size = 12.0M 
InnoDB: mmap(12877824 bytes) failed; errno 12 
150714 22:13:33 InnoDB: Completed initialization of buffer pool 
150714 22:13:33 InnoDB: Fatal error: cannot allocate memory for the buffer pool 
150714 22:13:33 [ERROR] Plugin 'InnoDB' init function returned error. 
150714 22:13:33 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 
150714 22:13:33 [ERROR] Unknown/unsupported storage engine: InnoDB 
150714 22:13:33 [ERROR] Aborting 

В выдержке из журнала вы увидите, что размер моего пула буферов равен 12 МБ. Это можно настроить, добавив строку innodb_buffer_pool_size = 12M в ваш конфигурационный файл MySQL /etc/my.cnf.

Достаточно хороший способ борьбы с InnoDB, пережевывающий вашу память, - это создать файл подкачки. Начните с проверки состояния памяти:

free -m 

Вы, скорее всего, увидите, что ваш своп не делает много:

   total  used  free  shared buffers  cached 
Mem:   592  574   17   0   15  235 
-/+ buffers/cache:  323  268 
Swap:   0   0   0 

Для начала убедитесь, что вы вошли в систему как пользователь корня и запустить следующая команда:

dd if=/dev/zero of=/swapfile bs=1M count=1024 

Подождите немного, как команда не многословна, но вы должны увидеть следующий ответ примерно через 15 секунд, когда процесс завершен е:

1024+0 records in 
1024+0 records out 
1073741824 bytes (1.1 GB) copied, 31.505 s, 34.1 MB/s 

Следующая настроить пространство для свопинга с:

mkswap /swapfile 

Теперь установите событие подкачки:

swapon /swapfile 

Если вы получаете разрешения ответ вы можете игнорировать или адрес swap, изменив разрешения на 600 с помощью команды chmod.

chmod 600 /swapfile 

Теперь добавьте следующую строку в /etc/fstab создать раздел подкачки на старте сервера:

/swapfile swap swap defaults 0 0 

Перезапустите экземпляр MySQL:

service mysqld restart 

Наконец проверить, если файл подкачки правильно работает с командой free -m. Вы должны увидеть что-то вроде:

   total  used  free  shared buffers  cached 
Mem:   592  575   16   0   16  235 
-/+ buffers/cache:  323  269 
Swap:   1023   0  1023 

Надеется, что это помогает.

Смежные вопросы