Mysql
 sql >> Database >  >> RDS >> Mysql

Come installare MySQL 5.7 su Amazon ec2

Questo è un relativamente configurazione rapida di MySQL 5.7.14 su Red Hat Enterprise Linux versione 7 (RHEL7).

Non sono affiliato ad AWS; Mi piace semplicemente usare i loro servizi.

Assicurati di avere un account AWS EC2. Tieni presente che anche se Amazon richiede una carta di credito in archivio, non verranno addebitati costi per il primo anno se aderisci al loro Livello gratuito termini. In genere questo significa un singolo server di microistanza (1 Gb di RAM) in esecuzione 24 ore su 24, 7 giorni su 7.

Lancio dell'istanza RHEL EC2

Passaggio 1: Su AWS EC2, fai clic su "Launch Instance" e seleziona "Red Hat Enterprise Linux 7.2 (HVM), SSD Volume Type - ami-775e4f16" come mostrato nell'immagine qui sotto. Tieni presente che le versioni delle AMI disponibili o promosse (Amazon Machine Instance) ruoteranno nel tempo e questo è al momento della stesura di questo documento. Ma il numero AMI è mostrato sopra nel testo.

Normalmente, ho scelto Amazon Linux AMI come mia distribuzione preferita. Non lo faccio più perché è il loro miscuglio e c'è naturalmente incertezza su quale gestore di pacchetti scegliere e quindi sui file. Quindi mi attengo a RHEL ora.

Nella schermata "Scegli un tipo di istanza", seleziona un tipo di istanza idoneo di livello gratuito come mostrato di seguito:

Fare clic su Avanti. Nella schermata Dettagli successiva, fare clic su "Avanti" per accettare le impostazioni predefinite. Nella schermata di archiviazione, cambia la dimensione in 16 GB e fai clic su "Avanti". Quindi "Avanti" di nuovo su Informazioni tag. Poi arriva la schermata "Configura gruppo di sicurezza" illustrata di seguito:

Accetta per ora il pulsante di opzione "🔘 crea un nuovo gruppo di sicurezza". Nota che la porta SSH 22 è aperta a tutti (Ovunque) Indirizzi IP con 0.0.0.0/0 CIDR . Altre opzioni includono il rilevamento di "Il mio IP" (come il tuo) o "Personalizzato". Ti assicuriamo che con la schermata successiva l'accesso sarà bloccato in base ai token di sicurezza che imposteremo. C'è un pulsante per Aggiungi regola sotto le porte aperte per aggiungere porte come MySQL 3306 o HTTP 80. Ma per ora lo salteremo. Prendere nota del nome del gruppo di sicurezza. Compilane uno o accetta l'impostazione predefinita per ora. Non è fondamentale farlo correttamente poiché il gruppo di sicurezza può essere modificato in un secondo momento per un'Istanza in esecuzione . Fai clic su Rivedi e avvia.

Quindi fai clic su "Avvia" (non temere, non verrà ancora avviato). Come presenta la schermata successiva:

Nota che poiché ho già generato alcune coppie di chiavi, l'impostazione predefinita è "Scegli una coppia di chiavi esistente" nel primo menu a discesa. In caso contrario, "Crea una nuova coppia di chiavi" con un determinato nome di promemoria e procedi a "Scarica coppia di chiavi". A questo punto hai la coppia di chiavi come .pem file. Trattalo con la massima sicurezza, salvandolo in un posto dove non lo perderai. Preferibilmente in un'area protetta da password come nella directory utente del sistema operativo.

Quando finalmente fai clic su "Avvia istanze" in questa stessa schermata, l'avvio avviene in relazione a quella coppia di chiavi (o appena creata o preesistente). Nota, la generazione di una coppia di chiavi potrebbe essere un'attività che esegui solo una volta all'anno. Riutilizzare una coppia di chiavi ancora e ancora, dipende da te.

Dopo aver avviato l'istanza, hai circa cinque minuti prima che diventi attiva. Sotto la voce di menu Istanze a sinistra, sai che l'istanza è attiva quando lo stato dell'istanza indica "in esecuzione" e i controlli di stato indicano "2/2 superati":

Ricorda il .pem file che hai scaricato? Bene, solo una volta devi creare un .ppk file da quello per PuTTY, un programma client SSH che comunicherà cryto-sicuro alla tua istanza in esecuzione. Per questo utilizziamo il puttygen strumento che funziona in armonia con PuTTY. Quindi eseguiamo puttygen, carichiamo il .pem scaricato pochi minuti prima e genera il .ppk file con una "passphrase chiave" come "I &love%ancHovies2_fjdi8Ha". Di seguito una foto di puttygen:

E la pagina AWS EC2 intitolata Connessione all'istanza Linux da Windows utilizzando PuTTY . I passaggi sono File/Carica chiave privata. Cambia il filtro in Tutti i file (. ). Trova il .pem file. Premi "Apri", quindi "Ok". Digita una passphrase. Fai clic su "salva chiave privata" e salvalo nella stessa cartella di un .ppk file insieme al tuo .pem file. Come accennato, questo non è qualcosa che potresti fare ma annualmente.

Ora esegui PuTTY, il client SSH. Usa il nome della sessione/host come qualcosa di simile a

[email protected]

Quindi è fondamentalmente [email protected] concatenato con il nome DNS pubblico visualizzato in Istanze nel pannello di controllo di EC2. Per quanto riguarda la specifica del .ppk PuTTY file, sarebbe simile al seguente, con il .ppk file scelto accanto al pulsante Sfoglia:

Torna alla gerarchia della sessione in alto a sinistra mostrata di seguito, assegna a questo un nome di profilo in Sessioni salvate e premi "Salva". In seguito, quando carichi PuTTY, carichi semplicemente la sessione per nome:

Non dimenticare che quasi tutto ciò che stai facendo qui è salvare il .ppk riferimento in un profilo con nome amichevole. E di tanto in tanto potrebbe essere necessario modificare il nome host (certamente quando salvi un'immagine di istanza su EC2 e torni con un nuovo indirizzo IP di istanza in un lancio successivo).

Ok, non è facile. Ma è quello che è.

Quando fai clic su Apri, tenterà di connettersi alla tua istanza RHEL. Premi Sì sull'avviso di firma. Inserisci il .ppk precedentemente salvato Passphrase chiave e dovresti essere seduto a un prompt di Linux.

Installazione MySQL (metterò queste note su GitHub)

URL01:Scarica MySQL Yum Repository

URL02:Capitolo 1 Installazione MySQL su Linux utilizzando MySQL Yum Repository

Ora hai MySQL 5.7.14 caricato e in esecuzione su EC2 con un database e una configurazione utente. I tuoi server devono essere sottoposti a imaging. Vedi questa risposta qui mio per la creazione di immagini (AMI). Fai il backup dei tuoi dati. Consulta la documentazione EC2 come Best Practices for Amazon EC2 .

Torna alla sicurezza:le migliori pratiche suggeriscono sicuramente di non aprire il tuo db per connessioni dirette tramite i gruppi di sicurezza per la porta 3306. Il modo in cui scegli di aderire è una tua scelta, ad esempio con PHP, Java o altre API di programmazione. Si noti che vari programmi client db possono connettersi tramite tunnel SSH come MySQL Workbench. Inoltre, esistono varie librerie di sviluppo con i tunnel SSH, ma non è molto facile svilupparle (principalmente a causa delle catene chiave difficili e della mancanza di esperienze di sviluppo estese). Ad esempio, ce n'è uno per C# qui .

Inoltre, AWS offre RDS e altre offerte di database per meno pratiche e roll proprio come sopra. Il motivo per cui molti sviluppatori prendono di mira EC2 è dovuto al fatto che hai un server completo per le tue altre iniziative di programmazione.

Se modifichi i gruppi di sicurezza come menzionato prima, prendi in considerazione l'utilizzo di intervalli IP basati sulle voci CIDR e presta attenzione prima di sovraesporre i tuoi datastore. O eccesso di concessione. Più o meno le stesse best practice che avresti per il lavoro in sede.

Per quanto riguarda questa sezione MySQL, le mie note su GitHub per le poche immagini di cui sopra si trovano Qui .