web-dev-qa-db-fra.com

Comment installer MySQL 5.7 sur Amazon ec2

Comment puis-je installer MySQL 5.7 dans le cloud sur Amazon EC2?

La plupart des AMI (Amazon Machine Instances) que je vois ne possèdent aucun serveur MySQL ou possèdent une version plus ancienne, telle que MySQL Server 5.5.

Je veux utiliser le dernier et le meilleur.

18
Drew

Ceci est une relative configuration rapide de MySQL 5.7.14 sur Red Hat Enterprise Linux version 7 (RHEL7).

Je ne suis pas affilié à AWS; J'aime simplement utiliser leurs services.

Assurez-vous d'avoir un compte AWS EC2. Notez que même si Amazon requiert une carte de crédit dans le fichier, aucun frais ne vous sera facturé pour la première année si vous vous conformez à leurs conditions d'utilisation Free-tier . En règle générale, cela signifie un seul serveur micro-instance (1 Go de RAM) fonctionnant 24h/24 et 7j/7.

Lancement de l'instance EC2 RHEL

Étape 1: Sous AWS EC2, cliquez sur "Lancer l'instance" et sélectionnez "Type de volume SSD Red Hat Enterprise Linux 7.2 (AMI-775e4f16)", sous vu dans l'image ci-dessous. Notez que les versions des AMI disponibles ou promues (Amazon Machine Instance) évolueront dans le temps, à la date de rédaction de ce document. Mais le numéro AMI est indiqué ci-dessus dans le texte.

enter image description here

Normalement, j'ai choisi Amazon Linux AMI comme distribution de prédilection. Je ne le fais plus car il s'agit de leur propre problème et il existe naturellement une incertitude quant au choix du gestionnaire de paquets et donc aux fichiers. Je reste donc avec RHEL maintenant.

Dans l'écran "Choisir un type d'instance", sélectionnez un type d'instance éligible de niveau libre, comme indiqué ci-dessous:

enter image description here

Cliquez sur Suivant. Sur l'écran Détails suivant, cliquez sur "Suivant" pour accepter les paramètres par défaut. Sur l'écran de stockage, modifiez la taille à 16 Go et cliquez sur "Suivant". Puis "Suivant" à nouveau sur info tag. Vient ensuite l'écran "Configurer le groupe de sécurité" illustré ci-dessous:

enter image description here

Acceptez le bouton radio "Créer un nouveau groupe de sécurité" pour le moment. Remarque Le port SSH 22 est ouvert à toutes les adresses IP (partout) avec le 0.0.0.0/0 CIDR . D'autres options incluent la détection de "Mon IP" (comme dans le vôtre) ou "Personnalisé". Soyez assuré qu'avec le prochain écran, l'accès sera verrouillé en fonction des clés de sécurité que nous allons configurer. Il y a un bouton pour ajouter une règle sous les ports ouverts pour ajouter des ports tels que MySQL 3306 ou HTTP 80. Mais pour l'instant, nous allons l'ignorer. Notez le nom du groupe de sécurité. Remplissez-en un ou acceptez la valeur par défaut pour le moment. Il n’est pas critique d’obtenir ce droit car le groupe de sécurité peut être modifié ultérieurement pour un Instance en cours d’exécution. Cliquez sur Review and Launch.

Puis cliquez sur "Lancer" (ne craignez pas, cela ne se lance pas encore). Comme le montre l'écran suivant:

enter image description here

Notez que, comme certaines paires de clés sont déjà générées, "Choisir une paire de clés existante" est sélectionné par défaut dans le premier menu déroulant. Sinon, vous "créez une nouvelle paire de clés" avec un nom de rappel donné et passez à "Télécharger la paire de clés". À ce stade, vous avez la paire de clés en tant que .pem fichier. Traitez cela avec la plus grande sécurité, en le conservant dans un endroit où vous ne le perdrez pas. De préférence dans une zone protégée par mot de passe, par exemple dans le répertoire utilisateur de votre système d'exploitation.

Lorsque vous cliquez enfin sur "Launch Instances" sur ce même écran, le lancement a lieu par rapport à cette paire de clés (créée ou préexistante). Notez que la génération d'une paire de clés peut être une tâche que vous effectuez une fois par an. Réutiliser une paire de clés encore et encore, à vous de voir.

Une fois l’instance lancée, il vous reste environ cinq minutes pour la mettre en ligne. Sous l'élément de menu Instances left, vous savez que l'instance est active lorsque l'état de l'instance indique "en cours" et que les vérifications d'état indiquent "2/2 passé":

enter image description here

Se souvenir du .pem fichier que vous avez téléchargé? Eh bien, juste une fois, vous devez créer un .ppk file sur PuTTY, un programme client SSH qui communiquera de manière cryto sécurisée avec votre instance en cours d’exécution. Pour cela, nous utilisons l'outil puttygen qui fonctionne en harmonie avec PuTTY. Donc, nous courons puttygen, chargez le .pem téléchargé quelques minutes auparavant et générez le .ppk fichier contenant une "phrase secrète", telle que "j'aime% ancHovies2_fjdi8Ha". Ci-dessous, une image de puttygen:

enter image description here

Et la page AWS EC2 intitulée Connexion à votre instance Linux à partir de Windows avec PuTTY . Les étapes sont Fichier/Charger la clé privée. Définissez le filtre sur Tous les fichiers (.). Trouvez le .pem fichier. Appuyez sur "Ouvrir", puis "Ok". Tapez une phrase secrète. Cliquez sur "Enregistrer la clé privée" et enregistrez-le dans le même dossier qu'un fichier .ppk fichier à côté de votre .pem fichier. Comme mentionné, ce n’est pas quelque chose que vous pourriez faire mais chaque année.

Maintenant, lancez PuTTY, le client SSH. Utilisez le nom de session/hôte comme quelque chose comme

[email protected]

Donc, c’est fondamentalement ec2-user@ _ concaténé avec le nom DNS public affiché sous Instances dans le panneau de configuration EC2. Quant à spécifier le PuTTY .ppk fichier, il ressemblerait au fichier ci-dessous, avec le fichier .ppk fichier choisi à côté du bouton Parcourir:

enter image description here

Retournez à la hiérarchie supérieure gauche de la session illustrée ci-dessous, attribuez-lui un nom de profil sous Sessions sauvegardées, puis cliquez sur "Enregistrer". Lorsque vous chargez PuTTY, vous chargez simplement la session par son nom:

enter image description here

N'oubliez pas que tout ce que vous faites ici, c'est sauver le .ppk référence dans un profil nommé convivial. Et vous devrez peut-être occasionnellement changer de nom d'hôte (certainement lorsque vous enregistrez une image d'instance sur EC2 et que vous revenez avec une nouvelle adresse IP d'instance lors d'un lancement ultérieur).

Ok ce n'est pas facile Mais c'est ce que c'est.

Lorsque vous cliquez sur Ouvrir, il tente de se connecter à votre instance RHEL. Appuyez sur Oui sur l'avertissement de signature. Entrez le précédent enregistré .ppk Key Passphrase, et vous devriez être assis à une invite Linux.

Installation de MySQL (je mettrai ces notes sur GitHub)

enter image description here

enter image description here

enter image description here

RL01: Télécharger MySQL Yum Repository

RL02: Chapitre 1 Installation de MySQL sous Linux avec MySQL Yum

Vous avez maintenant MySQL 5.7.14 chargé et exécuté sur EC2 avec une base de données et une configuration utilisateur. Vos serveurs doivent être imagés. Voir cette réponse ici à moi pour créer des images (AMI). Sauvegardez vos données. Voir la documentation EC2 telle que Meilleures pratiques pour Amazon EC2 .

Pour en revenir à la sécurité: les meilleures pratiques suggèrent certainement de ne pas ouvrir votre base de données pour une connexion directe via les groupes de sécurité pour le port 3306. Vous choisissez de respecter ce choix, comme avec une API de programmation PHP, Java ou autre. Notez que divers programmes clients db peuvent se connecter via des tunnels SSH tels que MySQL Workbench. En outre, il existe différentes bibliothèques de développement avec les tunnels SSH, mais elles ne sont pas très faciles à développer (principalement en raison de chaînes de clés difficiles et du manque d’expériences de développement étendues). Par exemple, il en existe un pour C # ici .

En outre, AWS dispose de RDS et d’autres offres de base de données plus simples et plus conviviales, comme ci-dessus. La raison pour laquelle de nombreux développeurs ciblent EC2 est due au fait que vous avez un serveur complet pour vos autres initiatives de programmation.

Si vous modifiez les groupes de sécurité comme mentionné précédemment, envisagez d'utiliser des plages IP basées sur les entrées CIDR et soyez prudent avant de surexposer vos magasins de données. Ou sur accorder. Pratiquement les mêmes pratiques exemplaires que pour le travail sur site.

En ce qui concerne cette section MySQL, mes notes GitHub pour les quelques images ci-dessus sont situées Ici .

36
Drew

J'avais le même problème, mais je ne voulais pas utiliser Red Hat ni aucun autre système d'exploitation que Amazon Linux AMI. Donc, voici le processus pour installer MySQL 5.7 et mettre à jour une version plus ancienne.

Chemin court (sans capture d'écran)

wget https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm
yum localinstall mysql57-community-release-el6-11.noarch.rpm
yum remove mysql55 mysql55-common mysql55-libs mysql55-server
yum install mysql-community-server
service mysqld restart
mysql_upgrade -p

Long chemin (avec des screenshots)

Tout d’abord, pour valider, vous pouvez vérifier la version actuelle. enter image description here

Ensuite, vous devriez télécharger le repo pour EL6 11

wget https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm

enter image description here

Ensuite, faites un localinstall:

yum localinstall mysql57-community-release-el6-11.noarch.rpm

enter image description here

C'est probablement la clé d'une installation réussie. Vous devriez supprimer les paquets précédents, concernant MySQL 5.5

yum remove mysql55 mysql55-common mysql55-libs mysql55-server

enter image description here

Enfin, vous pouvez installer MySQL 5.7

yum install mysql-community-server

enter image description here

Redémarrez le serveur MySQL et mettez à niveau votre base de données

service mysqld restart
mysql_upgrade -p

enter image description here

Vous pouvez valider votre installation en vous authentifiant auprès de MySQL

enter image description here

18
georgeos

Sudo yum install mysql57-server

0
Elijah Lynn