MySQL serve per gestire database relazionali, è stato creato per gestire dati ed è una delle soluzioni più popolari al mondo. MySQL ha molte funzionalità per archiviazione, gestione, recupero dei dati ed è usato in applicazioni web. MySQL è distribuito sotto una licenza open source!
Ora vediamo come creare un server MySQL insieme a phpMyAdmin e come configurare Python per accedere database.
Il modo più semplice per creare un database SQL è usare Docker, prima di seguire i passaggi della discussione assicurati di aver installato Docker Desktop.
Ora apri la cartella del tuo progetto e crea un file "docker-compose.yml":
version: '3'
services:
db:
image: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: esempio
ports:
- "3306:3306"
volumes:
- db-data:/var/lib/mysql
admin:
image: phpmyadmin
restart: always
environment:
- PMA_ARBITRARY=1
ports:
- 8080:80
volumes:
db-data:
Questo è il file di configurazione Docker Compose che avvia "db" per eseguire un server MySQL alla porta 3306 e "admin" per eseguire phpMyAdmin sulla porta 8080. Lo storage del database è configurato separatamente su "db-data" permettendo l'aggiornamento del container del database senza perdere i dati.
N.B. ricordati di cambiare la password nella riga "MYSQL_ROOT_PASSWORD"!
Fatti questi passaggi puoi avviare il server MySQL:
$ docker-compose up -d
La prima volta che si esegue questo comando ci vorrà del tempo dato che Docker dovrà scaricare le immagini dei container MySQL e phpMyAdmin dal repository Docker Hub, quindi armatevi di pazienza!
Completato l'avvio il link http://localhost:8080
sarà accessibile dal vostro browser.
Inizialmente si aprirà una pagina di login e se non avete fatto modifiche al file di configurazione:
- Server: db
- Username: root
- Password: quella cambiata nel file di configurazione.
Una volta che accedi a phpMyAdmin, fai clic su "Databases" > "Create Database".
Inserisci un nome per il nuovo database e fai clic su "Create". Importante è creare un utente con i giusti permessi per eseguire un operazione, usare sempre l'utente root anche per operazioni basic potrebbe essere rischioso.
Fai clic su "Privileges" per il nuovo database. Vicino alla parte inferiore della pagina c'è una sezione intitolata "Nuovo" > "Aggiungi account utente".
Da ora in poi puoi accedere a phpMyAdmin utilizzando l'utente appena creato e la visualizzazione del server del database sarà limitata.
- Comandi avvio/spegnimento:
- Spegnimento:
$ docker-compose down
- Avvio:
$ docker-compose up -d
L'arresto e il riavvio del server come indicato sopra non causano la perdita di dati.
Per accedere al database MySQL devi installare un client Python. Ad esempio:
Per MyMySQL:
(venv) $ pip install pymysql cryptography
Il pacchetto cryptography installato sopra è una dipendenza facoltativa di pymysql per l'autenticazione.
Riassumendo se hai seguito tutta la procedura:
- Hostname: localhost
- Porta: 3306
- Database: nome database
- Nome utente: nome utente
- Password: cambiata nel file di configurazione
- Driver Python: pymysql