sql >> Databasteknik >  >> RDS >> Mysql

Anslut Metabase med MySQL för datautforskning

Vad är Metabase

Metabase tillhandahåller ett gränssnitt för att söka efter data i din webbläsare. Förutom att stödja SQL-förfrågningar erbjuder Metabase funktionalitet för att analysera data utan SQL, skapa instrumentpaneler och spåra mätvärden. Den här guiden visar hur du ansluter MySQL till Metabase och sedan distribuerar på NGINX genom en omvänd proxy.

Det finns ett antal ytterligare databaser som stöds från SQLite till PostgreSQL. Att visualisera resultat blir mycket enkelt genom ett intuitivt gränssnitt. Detta gör Metabase mångsidig för att dela data även bland de utan analytisk bakgrund.

Installera Metabase

Java Runtime Environment

Stegen i det här avsnittet kommer att installera Java 8 JDK på Ubuntu 16.04. För andra distributioner, se de officiella dokumenten.

  1. Installera software-properties-common för att enkelt lägga till nya förråd:

    sudo apt-get install software-properties-common
    
  2. Lägg till Java PPA:

    sudo add-apt-repository ppa:webupd8team/java
    
  3. Uppdatera källlistan:

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

    sudo apt-get install oracle-java8-installer
    

MySQL-server

  1. Ladda ner MySQL Server. Ange ett root-lösenord när det anges:

    sudo apt install mysql-server
    
  2. Logga in som root-användare:

    mysql -u root -p
    
  3. Skapa en databas och användare för 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
    

Ladda ned Metabase

  1. Ladda ner jar-filen från Metabase:

    wget http://downloads.metabase.com/v0.28.1/metabase.jar
    
  2. Flytta filen till /var så att den kan starta vid omstart:

    sudo mv metabase.jar /var/metabase.jar
    

Omvänd proxy med NGINX

  1. Installera NGINX

    sudo apt install nginx
    
  2. Skapa en ny NGINX-konfigurationsfil med inställningarna nedan inställningen server_name med din FDQN eller offentliga IP-adress:

    Fil:/ 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. Kontrollera att det inte finns några problem med konfigurationen:

    sudo nginx -t
    
  4. Starta om NGINX:

    sudo systemctl restart nginx
    

Ladda ner exempel på MySQL-databas

TheEmployees Testing Database är en exempeldatabas som kan laddas in i MySQL. Databasen består av personal- och lönedata med över 2,8 miljoner poster, denna storlek gör den användbar för att experimentera på ett icke-trivialt sätt.

  1. Installera git:

    sudo apt install git
    
  2. Klona arkivet som innehåller testdatabasen:

    git clone https://github.com/datacharmer/test_db.git
    
  3. Navigera in i det klonade förvaret:

    cd test_db
    
  4. Ladda employees.sql i metabase_example databas och ange databasens användarlösenord när du uppmanas:

    mysql -u metabase_user -p employees < employees.sql
    

    Konsolen kommer att skriva ut tabellerna som är laddade samt total tid att slutföra.

    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

Miljövariabler

  1. Skapa en ny textfil som innehåller miljövariablerna för Metabase:

    Fil:metabas -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. Ladda dessa miljövariabler:

    source metabase-env
    

Ställ in Metabase att starta vid omstart

  1. Kontrollera sökvägen till din JDK-binär:

    which java
    

    Detta bör skriva ut en sökväg som /usr/bin/java .

  2. Skapa en systemkonfigurationsfil för att säkerställa att Metabase körs vid uppstart. ExecStart= bör ställas in på JDK-sökvägen ovanifrån. Se till att ersätta User med ditt Unix-användarnamn:

    Fil:/ 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. Tillämpa ändringarna:

    sudo systemctl start metabase
    
  4. Kontrollera att Metabase är aktiv:

    sudo systemctl status metabase
    

Brandväggsregler

Obs Linodes freeCloud Firewall-tjänst kan användas för att ersätta eller komplettera den interna brandväggskonfigurationen. För mer information om Cloud Firewalls, se vår Komma igång med Cloud Firewalls-guiden. För hjälp med att lösa allmänna brandväggsproblem, se guiden Felsökning av brandväggar.

UFW är bra för att förhindra obehörig åtkomst till din databas. En rimlig standard är att tillåta port 80/443 och SSH:

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

Kontrollera brandväggsreglerna:

sudo ufw status

Metabasgränssnitt

Metabasen är nu tillgänglig i webbläsaren på din Linodes offentliga IP-adress.

  1. Första gången du försöker komma åt kommer det att ta lite tid eftersom MySQL-databasen behöver migrera:

  2. Skapa ett konto:

  3. Ange databasinformationen eller hoppa över detta och lägg sedan till informationen senare från adminpanelen:

  4. Från den övre högra rullgardinsmenyn, välj Admin Panel och klicka sedan på Data Model på toppmenyn.

  5. Till vänster väljer du löner för att se information om tabellen, såsom främmande nycklar och kolumnnamn. Klicka på Lägg till ett segment :

  6. Skapa ett filter för att se alla anställda med en lön över 50 000 USD (Metabase låter dig skapa detta filter utan att skriva SQL):

  7. Se resultaten:

Metabase har mycket mer funktionalitet du kan utforska. Se den officiella dokumentationen för andra användningsfall med Metabase.

Mer information

Du kanske vill konsultera följande resurser för ytterligare information om detta ämne. Även om dessa tillhandahålls i hopp om att de kommer att vara användbara, vänligen observera att vi inte kan garantera noggrannheten eller aktualiteten hos externt värdmaterial.

  • Den officiella MySQL-webbplatsen
  • Metabas
  • Anställda som testar databas

  1. Ger DDL-satser dig alltid en implicit commit, eller kan du få en implicit rollback?

  2. Olagligt blandning av sorteringsfel i MySql

  3. Kombinera flera resultat i en underfråga till ett enda kommaseparerat värde

  4. IllegalStateException:databas redan stängd (med ViewPager)