Ошибка создания соединения с базой данных Amazon EC2 - после перемещения моего WordPress блога

Я получаю сообщение об ошибке: "ошибка установления соединения с базой данных" после перемещения моего блога wordpress в Amazon EC2. Я проверил файл wp-config.php и настройки в порядке (localhost, пароль и имя пользователя).

Я прочитал много вопросов и ответов здесь, но ничего не помогло мне.

У меня есть доступ к оболочке, поэтому я могу проверить все, что вам нужно. Возможно, мне стоит посмотреть файл конфигурации для phpmyadmin, чтобы узнать, какие настройки подключения к db есть, потому что phpmyadmin работает, но я не знаю, где он находится.

Спасибо

Ответ 1

Для меня просто перезапуск службы mysqld работал. Однако была проблема, но как только я выполнил sudo service mysqld restart, служба MySql остановилась, но не начала. sudo services mysqld start дал Deamon MySQL Ошибка при запуске. Я потратил много времени на то, чтобы начать службу, но я предполагаю, что настоящим виновником была услуга httpd. Я остановил службу httpd sudo service httpd stop. Теперь выполните sudo service mysqld restart и bingo сайт wordpress вернулся в онлайн (не забудьте запустить службу httpd). Это звучит как хромой, но это сработало, из того, что я выяснил, что БД MySQL останавливается по нескольким причинам, смотрящим на журнал, и выяснение фактической причины - единственное, что работает для меня.

Ответ 3

У меня такая же ошибка для моего сайта, я просто перезагрузил свой экземпляр и вуаля, проблема решена.

Мой случай:

Я использую бесплатный уровень amazon, и некоторый бот запрашивал мой сайт, и из-за большого количества подключений база данных sql не могла обслуживать нагрузку. Поэтому я установил балансировку нагрузки:) Надеюсь, что это поможет

Ответ 4

В то же время, с той же проблемой, я использую бесплатную учетную запись AWS. Экземпляр ec2 - это t2.micro, у которого нет предварительно настроенной подкачки. Когда я устанавливал материал wordpress, использование памяти всегда выше, даже я ничего не делаю. Однажды я запустил команду sudo yum update, bash показать, что -bash: fork: Cannot allocate memory ошибка. И мой сайт всегда получал error establishing a database connection тоже.

Я думаю, что основная причина - использование большой памяти. Вы можете добавить память подкачки в соответствии с инструкцией здесь: Как вы добавляете swap в экземпляр EC2?

Ответ 5

Вы не указали, перемещаете ли вы свой блог с myolddomain.com на mynewdomain.com и используете ли вы обычный WordPress или многостраничный WordPress. Но вот несколько советов, которые могут помочь:

  • Во-первых, вы должны убедиться, что ваш wp-config.php настроен правильно (сервер базы данных, имя пользователя, пароль...)

  • Во-вторых, WordPress использует базу данных для хранения некоторой информации о текущем хосте, просматривает таблицы wp_site, wp_options, wp_sitemeta и заменяет все строки, содержащие myolddomain.com, mynewdomain.com.

  • Убедитесь, что ваша группа безопасности EC2 настроена правильно.

Эта статья также может помочь.

Ответ 6

У меня была такая же ошибка. Каждый раз, когда мой сервер EC2 перезагружается из-за нехватки памяти. Mysql не перезапустился, что привело к сбою моих веб-сайтов, указав "Ошибка при установлении соединения с базой данных". Сначала я перезапускаю свой сервер из WHM, который немедленно исправил ошибку. Ошибка возвращается в следующий раз, когда сервер перезагрузится снова. Я также попытался запустить ssh для автоматического перезапуска базы данных mysql в командах загрузки, но это не было проблемой. Все, хотя моя группа безопасности была настроена для приема всего трафика, мне пришлось изменить группу безопасности для включения mysql и перезагрузить мои экземпляры, чтобы исправить ошибку. Я не уверен, что это будет работать для всех с EC2. Это сработало для меня

Ответ 7

Я не уверен, какое распространение вы используете, поэтому здесь, как я обычно решаю эти проблемы.
1. установите программу nmap (она сканирует порты) 2. Запустите "nmap localhost" (замените localhost на любой сервер, на котором запущена ваша база данных, если она не локальная) 3. проверьте, запущена ли ваша база данных (mysql)

Если нет, тогда сделайте что-нибудь, что приведет к "сервису mysqld restart" (это перезапустит демон mysql). Если это исправлено, загляните в этот автозапуск службы. Если вы получите сообщение об ошибке с этой командой, вы можете не установить mysql.

Ответ 8

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

Ответ 9

вы можете рассмотреть возможность закрытия своих портов.

В AWS вы можете сделать это в группе безопасности. Например, если у вас открыты SSH, HTTP и HTTPS-порты (22, 80 и т.д.), Попробуйте закрыть их только на ваш IP-адрес. (по умолчанию они равны 0.0.0.0, открыты для всех). Особенно это нужно сделать для порта SSH.

боты всегда пытаются получить доступ к открытым портам... поражая вас тысячи раз в день, если не больше, чтобы проверить, есть ли у вас открытые уязвимости. В зависимости от размера вашего экземпляра вы не сможете обрабатывать этот трафик. это может стать причиной сбоя вашего сервера.

Ответ 10

Я решил эту проблему, добавив своп к моему экземпляру:

sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
sudo /sbin/mkswap /var/swap.1
sudo chmod 600 /var/swap.1
sudo /sbin/swapon /var/swap.1

Если вам нужно больше 1024, измените это на что-то более высокое.

Чтобы включить его по умолчанию после перезагрузки, добавьте эту строку в /etc/fstab:

swap        /var/swap.1 swap    defaults        0   0

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

cat /proc/meminfo

Результат:

[email protected]:/$ cat /proc/meminfo
MemTotal:         604340 kB
MemFree:            8524 kB
Buffers:            3380 kB
Cached:           398316 kB
SwapCached:            0 kB
Active:           165476 kB
Inactive:         384556 kB
Active(anon):     141344 kB
Inactive(anon):     7248 kB
Active(file):      24132 kB
Inactive(file):   377308 kB
Unevictable:           0 kB
Mlocked:               0 kB

SwapTotal: 1048572 kB

SwapFree: 1048572 kB

Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        148368 kB
Mapped:            14304 kB
Shmem:               256 kB
Slab:              26392 kB
SReclaimable:      18648 kB
SUnreclaim:         7744 kB
KernelStack:         736 kB
PageTables:         5060 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     1350740 kB
Committed_AS:     623908 kB
VmallocTotal:   34359738367 kB
VmallocUsed:        7420 kB
VmallocChunk:   34359728748 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      637952 kB
DirectMap2M:           0 kB

Ответ 11

Ошибка в соединении БД может быть связана с корневыми паролями (если вы подключаетесь из браузера). Сохраните свой root passowrd, выполнив $mysql_secure_installation для защиты своей базы данных. На первом шаге нажмите, затем вы можете указать новый пароль для root. Тогда все должно работать нормально.