Detta är en relativt snabb installation av MySQL 5.7.14 på Red Hat Enterprise Linux version 7 (RHEL7).
Jag är inte ansluten till AWS; Jag bara tycker om att använda deras tjänster.
Se till att du har ett AWS EC2-konto. Observera att även om Amazon kräver ett registrerat kreditkort kommer det inte att tillkomma några avgifter för det första året om du följer deras Free-tier villkor. Vanligtvis innebär detta en enskild mikroinstans (1 Gb RAM) server som körs 24/7.
Lansering av EC2 RHEL-instans
Steg 1: På AWS EC2 klicka på "Launch Instance" och välj "Red Hat Enterprise Linux 7.2 (HVM), SSD Volume Type - ami-775e4f16" som ses på bilden nedan. Observera att versionerna av tillgängliga eller marknadsförda AMI (Amazon Machine Instance) kommer att rotera över tiden och detta är när detta skrivs. Men AMI-numret visas ovan i texten.
Normalt valde jag Amazon Linux AMI som min favoritdistro. Det gör jag inte längre då det är deras egen hodge-podge och det finns naturligtvis osäkerhet om vilken pakethanterare man ska välja och därmed filerna. Så jag håller mig till RHEL nu.
På skärmen "Välj en instanstyp" väljer du en kvalificerad instanstyp på fri nivå enligt nedan:
Klicka på Nästa. På nästa detaljskärm klickar du på "Nästa" för att acceptera standardinställningar. På lagringsskärmen ändra storleken till 16 GB och klicka på "Nästa". Sedan "Nästa" igen på Tag info. Därefter kommer skärmen "Konfigurera säkerhetsgrupp" på bilden nedan:
Acceptera alternativknappen för "🔘 skapa en ny säkerhetsgrupp" för tillfället. Observera SSH-port 22 är öppen för alla (Var som helst) IP-adresser med 0.0.0.0/0
CIDR
. Andra alternativ inkluderar upptäckt av "Min IP" (som i din) eller "Anpassad". Du kan vara säker på att med nästa skärmåtkomst kommer att låsas baserat på säkerhetsnycklar som vi kommer att ställa in. Det finns en knapp för Lägg till regel under de öppna portarna för att lägga till sådana portar som MySQL 3306 eller HTTP 80. Men tills vidare hoppar vi över det. Notera säkerhetsgruppens namn. Fyll i en eller acceptera standarden för tillfället. Det är inte avgörande att göra detta rätt eftersom säkerhetsgruppen kan ändras senare för en pågående instans . Klicka på Granska och starta.
Klicka sedan på "Launch" (var inte rädd, den kommer inte att starta ännu). Som nästa skärm visar:
Observera att eftersom jag redan har genererat några nyckelpar, är standardinställningen "Välj ett befintligt nyckelpar" i den första rullgardinsmenyn. Annars "Skapa ett nytt nyckelpar" med ett givet påminnelsenamn och fortsätter till "Ladda ner nyckelpar". Vid det här laget har du nyckelparet som en .pem
fil. Behandla det med största möjliga säkerhet, spara det på en plats där du inte kommer att förlora det. Helst i ett lösenordsskyddat område, t.ex. under ditt operativsystems användarkatalog.
När du slutligen klickar på "Starta instanser" på samma skärm, sker lanseringen i relation till det nyckelparet (antingen nyss skapat eller ett redan existerande). Observera att genereringen av ett nyckelpar kan vara en uppgift du bara utför en gång om året. Att återanvända ett nyckelpar om och om igen, upp till dig.
Efter att du har startat instansen har du ungefär fem minuter på dig innan den kommer live. Under menyalternativet Instanser till vänster vet du att instansen är live när instanstillståndet läser "kör" och statuskontrollerna läser "2/2 godkänd":
Kom ihåg .pem
fil du laddade ner? Tja, bara en gång behöver du skapa en .ppk
fil från det för PuTTY, ett SSH-klientprogram som kommer att kommunicera krytosäkert till din körande instans. För det använder vi puttygen
verktyg som fungerar i harmoni med PuTTY. Så vi kör puttygen, ladda .pem
laddade ner minuter innan och generera .ppk
fil med en "nyckellösenfras" som "Jag &älskar%ancHovies2_fjdi8Ha". Nedan en bild på puttygen:
Och AWS EC2-sidan med titeln Ansluta till din Linux-instans från Windows med PuTTY
. Stegen är Arkiv / Ladda privat nyckel. Ändra filtret till Alla filer (. ). Hitta .pem
fil. Tryck på "Öppna", sedan "Ok". Skriv in en lösenordsfras. Klicka på "spara privat nyckel" och spara den i samma mapp som en .ppk
fil tillsammans med din .pem
fil. Som nämnts är detta inte något du kan göra utan årligen.
Kör nu PuTTY, SSH-klienten. Använd sessions-/värdnamnet som något liknande
[email protected]
Så det är i princip [email protected]
sammanlänkade med det offentliga DNS-namnet som visas under Instanser på EC2-kontrollpanelen. När det gäller att ange PuTTY .ppk
fil, skulle den se ut som nedan, med .ppk
fil vald bredvid knappen Bläddra:
Gå tillbaka till sessionens övre vänstra hierarki som visas nedan, ge detta ett profilnamn under Sparade sessioner och tryck på "Spara". När du härefter laddar PuTTY laddar du bara sessionen efter namn:
Glöm inte att nästan allt du gör här är att spara .ppk
referens till en vänlig namngiven profil. Och du kan ibland behöva ändra värdnamn (säkert när du sparar en instansbild på EC2 och kommer tillbaka med en ny instans-IP-adress vid en efterföljande lansering).
Ok, det är inte lätt. Men det är vad det är.
När du klickar på Öppna kommer den att försöka ansluta till din RHEL-instans. Tryck på Ja på signaturvarningen. Ange den tidigare sparade .ppk
Key Passphrase, och du borde sitta vid en Linux-prompt.
MySQL-installation (jag kommer att lägga dessa anteckningar på GitHub)
URL01:Ladda ned MySQL Yum Repository
URL02:Kapitel 1 Installation MySQL på Linux Använda MySQL Yum Repository
Du har nu MySQL 5.7.14 laddad och kör på EC2 med en databas och användarinställningar. Dina servrar måste avbildas. Se det här svaret här av mig för att skapa bilder (AMI:s). Säkerhetskopiera dina data. Se EC2-dokumentationen såsom Bästa metoder för Amazon EC2 .
Tillbaka till säkerheten:bästa praxis föreslår verkligen att du inte öppnar din db för direktanslutningar via säkerhetsgrupper för port 3306. Hur du väljer att följa det är ditt val, till exempel med ett PHP, Java eller annat programmerings-API. Observera att olika db-klientprogram kan ansluta genom SSH-tunnlar som MySQL Workbench. Dessutom finns det olika utvecklingsbibliotek med SSH Tunnels men de är inte särskilt lätta att utveckla mot (främst på grund av svåra nyckelkedjor och brist på omfattande utvecklarerfarenheter). Det finns till exempel en för C# här .
Dessutom har AWS RDS och andra databaserbjudanden för mindre praktisk och rullande egen som ovan. Anledningen till att många utvecklare riktar in sig på EC2 beror på att du har en komplett server för dina andra programmeringsinitiativ.
Om du ändrar säkerhetsgrupperna som nämnts tidigare, överväg att använda IP-intervall baserat på CIDR-poster och var försiktig innan du överexponerar dina datalager. Eller över beviljande. Ungefär samma bästa praxis som du skulle göra för arbete på plats.
Angående denna MySQL-sektion finns mina GitHub-anteckningar för ovanstående bilder Här .