Erreur lors de l'établissement d'une connexion à la base de données Amazon EC2 - après avoir déplacé mon blog wordpress
J'obtiens l'erreur: "erreur lors de l'établissement d'une connexion de base de données" après le déplacement de mon blog wordpress sur Amazon EC2. J'ai vérifié l'wp-config.php les fichiers et les paramètres sont ok (localhost, mot de passe et nom d'utilisateur).
J'ai lu beaucoup de questions et de réponses ici, mais rien ne m'a aidé.
J'ai accès au shell afin que je puisse vérifier tout ce que vous avez besoin de moi pour le faire. Je devrais peut-être regarder le fichier de configuration de phpmyadmin pour voir ce que db paramètres de connexion sont là, parce que phpmyadmin fonctionne, mais je ne sais pas où il est.
Grâce
source d'informationauteur Idan Shechter
Vous devez vous connecter pour publier un commentaire.
Pour moi juste de redémarrer le service mysqld travaillé. Il y avait un hic cependant, dès que j'ai exécuté
sudo service mysqld restart
le service MySql arrêté mais ne démarre pas.sudo services mysqld start
a donné un MySQL Démon n'a pas pu Démarrer Erreur. J'ai passé beaucoup de temps à essayer de démarrer le service, mais je suppose que le vrai coupable était le service httpd. J'ai arrêté le service httpdsudo service httpd stop
. Maintenant exécutersudo service mysqld restart
et bingo le site de wordpress était de retour en ligne(n'oubliez pas de démarrer le service httpd). Cela sonne genre de boiteux, mais il a travaillé, à partir de ce que j'ai compris les bases de données MySQL s'arrête pour un certain nombre de raisons de regarder le journal et de comprendre la vraie raison est la seule chose qui fonctionne pour moi.Augmentation ur la mémoire de swap dans ec2 qui résout le problème. http://digitizor.com/2011/02/06/create-swap-file-ubuntu-linux/
J'ai eu la même erreur pour mon site, j'ai juste redémarré mon exemple et voila, le problème est résolu.
Mon cas:
Je suis en utilisant amazon niveau gratuit, et certains bot demandé à mon site web et en raison du nombre élevé de connexions, la base de données sql ne pouvait pas assumer la charge. J'ai donc installé l'équilibrage de la charge de trop 🙂 j'Espère que ça aide
Eu le même problème récemment , j'utilise le niveau gratuit d'AWS compte. L'instance ec2 est t2.micro, qui a pas de swap pré-configuré. Quand j'ai installé wordpress choses, l'utilisation de la mémoire est toujours plus élevé, et même je ne fais rien. Un jour, je lance un
sudo yum update
de commande, le bash montrent que-bash: fork: Cannot allocate memory
erreur. Et mon site a toujours euerror establishing a database connection
trop.Je pense que la cause est l'utilisation de mémoire. Vous pouvez ajouter de la mémoire de swap en suivant les instructions ici: Comment voulez-vous ajouter swap à une instance EC2?
Vous n'avez pas d'indiquer si vous déplacez votre blog à partir de myolddomain.com pour mynewdomain.com et si vous êtes en utilisant la normale WordPress ou multi-site WordPress. Mais voici quelques conseils qui pourraient vous aider:
Tout d'abord, vous devez vous assurer que votre wp-config.php est correctement configuré (serveur de base de données, nom d'utilisateur, mot de passe...)
Deuxièmement, WordPress utilise la base de données pour stocker des informations sur l'hôte actuel, regardez les tableaux wp_site, wp_options,wp_sitemeta et remplacer toutes les lignes contenant des myolddomain.com par mynewdomain.com.
Assurez-vous que votre EC2 groupe de sécurité est correctement configuré.
Cet article peut aider, aussi.
J'ai eu la même erreur. Chaque fois que mon EC2 serveur a redémarré en raison d'un manque de mémoire. Mysql ne redémarrez pas la cause de mes sites de crash en montrant d'Erreur "l'établissement d'une connexion de base de données" Au début, j'ai redémarrer mon serveur de WHM, qui fixe l'erreur immédiatement. Le retour en cas d'erreur la prochaine fois que le serveur a redémarré de nouveau. J'ai aussi essayé de ssh restart automatique de base de données mysql sur les commandes de démarrage, mais ce n'était pas un problème. Tout bien que mon groupe de sécurité a été mis en place pour accepter tout le trafic, j'ai dû changer mon groupe de sécurité: mysql, et le redémarrage de mes instances pour corriger l'erreur. Je ne sais pas si cela fonctionnera pour tout le monde avec EC2. Cela a fonctionné pour moi
J'ai résolu ce problème en ajoutant un swap pour mon exemple:
Si vous avez besoin de plus de 1024 puis changement à quelque chose de supérieur.
Pour l'activer par défaut après le redémarrage, ajoutez cette ligne à /etc/fstab:
Pour vérifier si votre instance est à l'aide de swap exécuter cette commande:
Le résultat:
SwapTotal: 1048572 ko
SwapFree: 1048572 ko
Je ne suis pas sûr de la distribution de votre aide donc voici comment j'ai généralement de résoudre ces types de problèmes.
1. installer un programme appelé nmap (il scanne les ports)
2. run 'nmap localhost' (remplacer localhost par le serveur est en cours d'exécution de votre base de données si elle n'est pas locale)
3. vérifiez pour voir si votre base de données(mysql) est en cours d'exécution
Si pas, alors faites quelque chose à l'effet de "services mysqld restart" (cela va redémarrer le démon mysql). Si cela résout, puis consultez dans ce service de démarrage automatique. Si vous obtenez un message d'erreur avec la commande que vous ne pouvez pas mysql.
Si le serveur garder de s'écraser après le redémarrage, vous devriez peut-être augmenter votre mémoire, mise à niveau du serveur de t2.micro t2.moyen faire l'affaire pour moi.
vous pourriez envisager de fermer vos ports.
AWS, vous pouvez le faire dans le Groupe de Sécurité.
Par exemple, si vous avez SSH, HTTP et HTTPS ports ouverts (22, 80, etc..) essayez de les fermer uniquement à votre adresse IP. (par défaut, ils sont 0.0.0.0, ouvert à tous). Vous devez surtout faire ce pour port SSH.
les bots sont toujours en essayant d'accéder à ouvrir des ports... de vous taper des milliers de fois par jour si pas plus pour tester si vous avez ouvert des vulnérabilités. Selon la taille de votre instance, vous ne pouvez pas être en mesure de gérer ce trafic. cela pourrait être la source de votre serveur plante sans arrêt.
Veuillez cliquer sur le groupe de sécurité de votre RDS instance.Et cliquez sur l'inbound >Modifier ajouter "TCP" pour 0.0.0.0/0
L'erreur en DB connexion pourrait être due à la racine des mots de passe (si vous vous connectez à partir d'un navigateur). Reste la racine de votre passowrd par l'exécution de $mysql_secure_installation pour la sécurité de votre base de données. Dans la première étape, appuyez sur, puis vous pouvez spécifier un nouveau mot de passe pour l'utilisateur root. Ensuite, tout devrait fonctionner correctement.