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

Connetti Metabase con MySQL per l'esplorazione dei dati

Cos'è Metabase

Metabase fornisce un'interfaccia per interrogare i dati sul tuo browser. Oltre a supportare le query SQL, Metabase offre funzionalità per analizzare i dati senza SQL, creare dashboard e tenere traccia delle metriche. Questa guida mostra come connettere MySQL a Metabase e quindi distribuirlo su NGINX tramite un proxy inverso.

Esistono numerosi database aggiuntivi supportati da SQLite a PostgreSQL. La visualizzazione dei risultati diventa molto semplice attraverso un'interfaccia intuitiva. Ciò rende Metabase versatile per la condivisione di dati anche tra coloro che non hanno un background analitico.

Installa metabase

Ambiente Java Runtime

I passaggi in questa sezione installeranno Java 8 JDK su Ubuntu 16.04. Per altre distribuzioni, consulta la documentazione ufficiale.

  1. Installa software-properties-common per aggiungere facilmente nuovi repository:

    sudo apt-get install software-properties-common
    
  2. Aggiungi il PPA Java:

    sudo add-apt-repository ppa:webupd8team/java
    
  3. Aggiorna l'elenco delle fonti:

    sudo apt-get update
    
  4. Installa Java JDK 8:

    sudo apt-get install oracle-java8-installer
    

MySQL Server

  1. Scarica il server MySQL. Immettere una password di root quando specificata:

    sudo apt install mysql-server
    
  2. Accedi come utente root:

    mysql -u root -p
    
  3. Crea un database e un utente per Metabase:

    CREATE DATABASE employees;
    CREATE USER 'metabase_user' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON employees.* TO 'metabase_user';
    GRANT RELOAD ON *.* TO 'metabase_user';
    FLUSH PRIVILEGES;
    quit
    

Scarica metabase

  1. Scarica il file jar da Metabase:

    wget http://downloads.metabase.com/v0.28.1/metabase.jar
    
  2. Sposta il file in /var in modo che possa iniziare al riavvio:

    sudo mv metabase.jar /var/metabase.jar
    

Proxy inverso con NGINX

  1. Installa NGINX

    sudo apt install nginx
    
  2. Crea un nuovo file di configurazione NGINX con le impostazioni seguenti impostando server_name con il tuo FDQN o indirizzo IP pubblico:

    File:/ etc/nginx/conf.d/metabase.conf
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    
    server {
            listen 80;
            listen [::]:80;
    
            server_name _;
    
            location / {
                 proxy_pass http://localhost:3000/;
                 proxy_redirect http://localhost:3000/ $scheme://$host/;
                 proxy_http_version 1.1;
                 proxy_set_header Upgrade $http_upgrade;
                 proxy_set_header Connection "Upgrade";
            }
    }
  3. Verifica che non ci siano problemi con la configurazione:

    sudo nginx -t
    
  4. Riavvia NGINX:

    sudo systemctl restart nginx
    

Scarica un esempio di database MySQL

TheEmployees Testing Database è un database di esempio che può essere caricato in MySQL. Il database è composto da dati dipendenti e salariali con oltre 2,8 milioni di voci, questa dimensione lo rende utile per sperimentare in modo non banale.

  1. Installa git:

    sudo apt install git
    
  2. Clona il repository contenente il database di test:

    git clone https://github.com/datacharmer/test_db.git
    
  3. Accedi al repository clonato:

    cd test_db
    
  4. Carica employees.sql nel metabase_example database e inserire la password utente del database quando richiesto:

    mysql -u metabase_user -p employees < employees.sql
    

    La console stamperà le tabelle caricate e il tempo totale per il completamento.

    Enter password:
    INFO
    CREATING DATABASE STRUCTURE
    INFO
    storage engine: InnoDB
    INFO
    LOADING departments
    INFO
    LOADING employees
    INFO
    LOADING dept_emp
    INFO
    LOADING dept_manager
    INFO
    LOADING titles
    INFO
    LOADING salaries
    data_load_time_diff
    00:00:52

Variabili d'ambiente

  1. Crea un nuovo file di testo contenente le variabili d'ambiente per Metabase:

    File:metabase -env
    1
    2
    3
    4
    5
    6
    
    export MB_DB_TYPE=mysql
    export MB_DB_DBNAME=employees
    export MB_DB_PORT=3306
    export MB_DB_USER=metabase_user
    export MB_DB_PASS=password
    export MB_DB_HOST=localhost
  2. Carica queste variabili di ambiente:

    source metabase-env
    

Imposta Metabase per l'avvio al riavvio

  1. Controlla il percorso del tuo binario JDK:

    which java
    

    Questo dovrebbe stampare un percorso come /usr/bin/java .

  2. Creare un file di configurazione systemd per garantire che Metabase venga eseguito all'avvio. ExecStart= dovrebbe essere impostato sul percorso JDK dall'alto. Assicurati di sostituire User con il tuo nome utente Unix:

    File:/ etc/systemd/system/metabase.service
    [Unit]
    Description=Metabase server
    After=syslog.target
    After=network.target[Service]
    User=username
    Type=simple
    
    [Service]
    ExecStart=/usr/bin/java -jar /var/metabase.jar
    Restart=always
    StandardOutput=syslog
    StandardError=syslog
    SyslogIdentifier=metabase
    
    [Install]
    WantedBy=multi-user.target
  3. Applicare le modifiche:

    sudo systemctl start metabase
    
  4. Verifica che Metabase sia attiva:

    sudo systemctl status metabase
    

Regole firewall

Nota Il servizio freeCloud Firewall di Linode può essere utilizzato per sostituire o integrare la configurazione del firewall interno. Per ulteriori informazioni su Cloud Firewall, consulta la nostra Guida introduttiva a Cloud Firewall. Per assistenza nella risoluzione dei problemi generali del firewall, consulta la guida alla risoluzione dei problemi dei firewall.

UFW è ottimo per prevenire l'accesso non autorizzato al tuo database. Un valore predefinito ragionevole è consentire la porta 80/443 e SSH:

sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh
sudo ufw enable

Controlla le regole del firewall:

sudo ufw status

Interfaccia metabase

Metabase è ora accessibile sul browser tramite l'indirizzo IP pubblico di Linode.

  1. La prima volta che tenti di accedere, ci vorrà del tempo perché il database MySQL deve migrare:

  2. Crea un account:

  3. Inserisci le informazioni sul database o salta questo, quindi aggiungi le informazioni in un secondo momento dal Pannello di amministrazione:

  4. Dal menu a discesa in alto a destra, seleziona Pannello di amministrazione, quindi fai clic su Modello dati nel menu in alto.

  5. A sinistra, seleziona stipendi per visualizzare le informazioni sulla tabella, come chiavi esterne e nomi di colonne. Fai clic su Aggiungi un segmento :

  6. Crea un filtro per visualizzare tutti i dipendenti con uno stipendio superiore a $ 50.000 (Metabase ti consente di creare questo filtro senza scrivere SQL):

  7. Guarda i risultati:

Metabase ha molte più funzionalità che puoi esplorare. Fare riferimento alla documentazione ufficiale per altri casi d'uso con Metabase.

Maggiori informazioni

Si consiglia di consultare le seguenti risorse per ulteriori informazioni su questo argomento. Sebbene questi siano forniti nella speranza che possano essere utili, tieni presente che non possiamo garantire l'accuratezza o la tempestività dei materiali ospitati esternamente.

  • Il sito Web ufficiale di MySQL
  • Metabase
  • Database di test dei dipendenti