sql >> Database >  >> RDS >> Mysql

Hoe MySQL 5.7 te installeren op Amazon ec2

Dit is een relatief snelle installatie van MySQL 5.7.14 op Red Hat Enterprise Linux versie 7 (RHEL7).

Ik ben niet aangesloten bij AWS; Ik vind het gewoon leuk om hun diensten te gebruiken.

Zorg ervoor dat je een AWS EC2-account hebt. Houd er rekening mee dat hoewel Amazon een geregistreerde creditcard vereist, er het eerste jaar geen kosten in rekening worden gebracht als u zich houdt aan hun Gratis niveau voorwaarden. Meestal betekent dit een enkele micro-instance (1 Gb RAM) server die 24/7 draait.

Lancering van EC2 RHEL-instantie

Stap 1: Klik op AWS EC2 op "Instance starten" en selecteer "Red Hat Enterprise Linux 7.2 (HVM), SSD-volumetype - ami-775e4f16" zoals te zien is in de onderstaande afbeelding. Merk op dat de versies van de beschikbare of gepromote AMI's (Amazon Machine Instance) in de loop van de tijd zullen roteren en dit is vanaf dit moment. Maar het AMI-nummer wordt hierboven in de tekst weergegeven.

Normaal gesproken koos ik Amazon Linux AMI als mijn favoriete distro. Ik doe dat niet meer omdat het hun eigen mengelmoes is en er natuurlijk onzekerheid bestaat over welke pakketbeheerder te kiezen en dus de bestanden. Dus ik blijf nu bij RHEL.

Selecteer op het scherm "Kies een instantietype" een in aanmerking komend instantietype voor gratis niveaus, zoals hieronder te zien is:

Klik volgende. Klik in het volgende detailscherm op "Volgende" om de standaardinstellingen te accepteren. Wijzig op het opslagscherm de grootte naar 16GB en klik op "Volgende". Dan weer "Volgende" op Tag info. Vervolgens komt het scherm "Beveiligingsgroep configureren" hieronder afgebeeld:

Accepteer voorlopig het keuzerondje "🔘 maak een nieuwe beveiligingsgroep". Opmerking SSH-poort 22 staat open voor alle (Overal) IP-adressen met de 0.0.0.0/0 CIDR . Andere opties zijn detectie van "Mijn IP" (zoals in de uwe), of "Aangepast". U kunt er zeker van zijn dat bij het volgende scherm de toegang wordt vergrendeld op basis van de beveiligingssleutels die we zullen instellen. Er is een knop voor Regel toevoegen onder de geopende poorten om poorten als MySQL 3306 of HTTP 80 toe te voegen. Maar voor nu slaan we dat over. Let op de naam van de beveiligingsgroep. Vul er een in of accepteer de standaard voor nu. Het is niet essentieel om dit goed te doen, aangezien de beveiligingsgroep later kan worden gewijzigd voor een actief exemplaar . Klik op Controleren en starten.

Klik vervolgens op "Launch" (vrees niet, het gaat nog niet starten). Zoals het volgende scherm presenteert:

Merk op dat, aangezien ik al enkele sleutelparen heb gegenereerd, het standaard is ingesteld op "Kies een bestaand sleutelpaar" in de eerste vervolgkeuzelijst. Anders "Maak een nieuw sleutelpaar aan" met een bepaalde herinneringsnaam en ga verder naar "Sleutelpaar downloaden". Op dit punt heb je het sleutelpaar als een .pem het dossier. Behandel dat met de grootst mogelijke veiligheid en bewaar het op een plaats waar u het niet kwijtraakt. Bij voorkeur in een met een wachtwoord beveiligd gebied, zoals onder de gebruikersdirectory van uw besturingssysteem.

Wanneer u uiteindelijk op "Instances starten" op hetzelfde scherm klikt, vindt de lancering plaats in relatie tot dat sleutelpaar (zojuist gemaakt of een reeds bestaand). Let op, het genereren van een sleutelpaar kan een taak zijn die u slechts één keer per jaar uitvoert. Het is aan jou om een ​​sleutelpaar keer op keer opnieuw te gebruiken.

Nadat u de instantie heeft gestart, heeft u ongeveer vijf minuten voordat deze live komt. Onder het linkermenu-item Instanties weet u dat de instantie live is wanneer de instantiestatus "in uitvoering" is en de statuscontrole "2/2 geslaagd" aangeeft:

Onthoud de .pem bestand dat je hebt gedownload? Nou, je hoeft maar één keer een .ppk . te maken bestand uit voor PuTTY, een SSH-clientprogramma dat cryto-beveiligd communiceert met uw actieve instantie. Daarvoor gebruiken we de puttygen tool die in harmonie met PuTTY werkt. Dus we draaien puttygen, laad de .pem minuten eerder gedownload en genereer de .ppk bestand met een "sleutelwachtwoord" zoals "I &love%ancHovies2_fjdi8Ha". Hieronder is een foto van puttygen:

En de AWS EC2-pagina getiteld Verbinding maken met uw Linux-instantie vanuit Windows met behulp van PuTTY . De stappen zijn Bestand / Privésleutel laden. Wijzig het filter in Alle bestanden (. ). Zoek de .pem het dossier. Druk op "Open" en vervolgens op "Ok". Typ een wachtwoordzin. Klik op "privésleutel opslaan" en sla deze op in dezelfde map als een .ppk bestand naast uw .pem het dossier. Zoals gezegd, dit is niet iets wat je zou kunnen doen, maar jaarlijks.

Voer nu PuTTY uit, de SSH-client. Gebruik de sessie-/hostnaam als iets als

[email protected]

Het is dus eigenlijk [email protected] samengevoegd met de openbare DNS-naam die wordt weergegeven onder Instances op het EC2-configuratiescherm. Wat betreft het specificeren van de PuTTY .ppk bestand, zou het er als volgt uitzien, met de .ppk bestand gekozen naast de knop Bladeren:

Ga terug naar de hieronder weergegeven Sessie-hiërarchie linksboven, geef deze een profielnaam onder Opgeslagen sessies en klik op "Opslaan". Hierna, wanneer u PuTTY laadt, laadt u de sessie alleen op naam:

Vergeet niet dat het enige dat u hier doet het opslaan van de .ppk . is verwijzing naar een vriendelijk genoemd profiel. En het kan zijn dat u af en toe de hostnaam moet wijzigen (zeker wanneer u een instantie-image op EC2 opslaat en bij een volgende lancering terugkomt met een nieuw instantie-IP-adres).

Oké, het is niet gemakkelijk. Maar het is wat het is.

Wanneer u op Openen klikt, wordt geprobeerd verbinding te maken met uw RHEL-instantie. Druk op Ja bij de handtekeningwaarschuwing. Voer de eerder opgeslagen .ppk . in Key Passphrase, en je zou achter een Linux-prompt moeten zitten.

MySQL-installatie (ik zal deze opmerkingen op GitHub plaatsen)

URL01:MySQL Yum-repository downloaden

URL02:Hoofdstuk 1 Installeren MySQL op Linux met behulp van de MySQL Yum Repository

Je hebt nu MySQL 5.7.14 geladen en draait op EC2 met een database en gebruikersconfiguratie. Uw servers moeten worden geimaged. Zie dit antwoord hier van mij voor het maken van afbeeldingen (AMI's). Maak een back-up van uw gegevens. Zie de EC2-documentatie zoals Best Practices for Amazon EC2 .

Terug naar beveiliging:best practices raden zeker aan om uw db niet open te stellen voor directe verbindingen via beveiligingsgroepen voor poort 3306. Hoe u ervoor kiest om zich hieraan te houden, is uw keuze, zoals met een PHP, Java of andere programmeer-API. Merk op dat verschillende db-clientprogramma's verbinding kunnen maken via SSH-tunnels zoals MySQL Workbench. Daarnaast bestaan ​​er verschillende ontwikkelbibliotheken met SSH-tunnels, maar ze zijn niet erg gemakkelijk om tegen te ontwikkelen (voornamelijk vanwege moeilijke sleutelketens en gebrek aan uitgebreide ontwikkelaarservaringen). Er is er bijvoorbeeld een voor C# hier .

Daarnaast heeft AWS RDS en andere database-aanbiedingen voor minder hands-on en zelf rollen zoals hierboven. De reden dat veel ontwikkelaars zich richten op EC2 is te wijten aan het feit dat je een volledige server hebt voor je andere programmeerinitiatieven.

Als u de beveiligingsgroepen wijzigt zoals eerder vermeld, overweeg dan om IP-bereiken te gebruiken op basis van CIDR-vermeldingen en wees voorzichtig voordat u uw datastores overbelicht. Of te veel toekennen. Vrijwel dezelfde best practices als voor werk op locatie.

Wat betreft deze MySQL-sectie, mijn GitHub-notities voor de bovenstaande paar afbeeldingen bevinden zich Hier .



  1. Een query schrijven met meerdere gedragingen

  2. pgadmin4:er kan geen verbinding worden gemaakt met de postgresql-toepassingsserver.

  3. Wat is een databasequery?

  4. Schakel PostgreSQL-controles van externe sleutels uit voor migraties