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

Forbind Metabase med MySQL til dataudforskning

Hvad er Metabase

Metabase giver en grænseflade til at forespørge data på din browser. Ud over at understøtte SQL-forespørgsler tilbyder Metabase funktionalitet til at analysere data uden SQL, oprette dashboards og spore metrics. Denne vejledning viser, hvordan du forbinder MySQL til Metabase og derefter implementerer på NGINX gennem en omvendt proxy.

Der er en række yderligere databaser, der understøttes fra SQLite til PostgreSQL. Visualisering af resultater bliver meget enkel gennem en intuitiv grænseflade. Dette gør Metabase alsidig til at dele data selv blandt dem uden analytisk baggrund.

Installer Metabase

Java Runtime Environment

Trinnene i dette afsnit installerer Java 8 JDK på Ubuntu 16.04. For andre distributioner, se de officielle dokumenter.

  1. Installer software-properties-common for nemt at tilføje nye depoter:

    sudo apt-get install software-properties-common
    
  2. Tilføj Java PPA:

    sudo add-apt-repository ppa:webupd8team/java
    
  3. Opdater kildelisten:

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

    sudo apt-get install oracle-java8-installer
    

MySQL-server

  1. Download MySQL-server. Indtast en root-adgangskode, når den er angivet:

    sudo apt install mysql-server
    
  2. Log ind som root-bruger:

    mysql -u root -p
    
  3. Opret en database og bruger til 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
    

Download Metabase

  1. Download jar-filen fra Metabase:

    wget http://downloads.metabase.com/v0.28.1/metabase.jar
    
  2. Flyt filen til /var så den kan starte ved genstart:

    sudo mv metabase.jar /var/metabase.jar
    

Omvendt proxy med NGINX

  1. Installer NGINX

    sudo apt install nginx
    
  2. Opret en ny NGINX-konfigurationsfil med indstillingerne nedenfor med indstilling af server_name med din FDQN eller offentlige IP-adresse:

    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. Bekræft, at der ikke er problemer med konfigurationen:

    sudo nginx -t
    
  4. Genstart NGINX:

    sudo systemctl restart nginx
    

Download eksempel på MySQL-database

TheEmployees Testing Database er en eksempeldatabase, der kan indlæses i MySQL. Databasen består af medarbejder- og løndata med over 2,8 millioner poster, denne størrelse gør den nyttig til at eksperimentere på en ikke-triviel måde.

  1. Installer git:

    sudo apt install git
    
  2. Klon depotet, der indeholder testdatabasen:

    git clone https://github.com/datacharmer/test_db.git
    
  3. Naviger ind i det klonede lager:

    cd test_db
    
  4. Indlæs employees.sql ind i metabase_example database og indtast databasebrugeradgangskoden, når du bliver bedt om det:

    mysql -u metabase_user -p employees < employees.sql
    

    Konsollen udskriver de tabeller, der er indlæst, samt den samlede tid til at færdiggøre.

    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. Opret en ny tekstfil, der indeholder miljøvariablerne for Metabase:

    Fil: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. Indlæs disse miljøvariabler:

    source metabase-env
    

Indstil Metabase til at starte ved genstart

  1. Tjek stien til din JDK-binær:

    which java
    

    Dette bør udskrive en sti såsom /usr/bin/java .

  2. Opret en systemkonfigurationsfil for at sikre, at Metabase kører ved opstart. ExecStart= skal indstilles til JDK-stien ovenfra. Sørg for at erstatte User med dit Unix-brugernavn:

    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. Anvend ændringerne:

    sudo systemctl start metabase
    
  4. Tjek, at Metabase er aktiv:

    sudo systemctl status metabase
    

Firewallregler

Bemærk Linodes freeCloud Firewall-tjeneste kan bruges til at erstatte eller supplere intern firewall-konfiguration. For mere information om Cloud Firewalls, se vores Kom godt i gang med Cloud Firewalls-vejledning. Se guiden til fejlfinding af firewalls for at få hjælp til at løse generelle firewallproblemer.

UFW er fantastisk til at forhindre uautoriseret adgang til din database. En rimelig standard er at tillade port 80/443 og SSH:

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

Tjek firewall-reglerne:

sudo ufw status

Metabase-grænseflade

Metabase er nu tilgængelig i browseren på din Linodes offentlige IP-adresse.

  1. Første gang du forsøger at få adgang, vil det tage noget tid, fordi MySQL-databasen skal migreres:

  2. Opret en konto:

  3. Indtast databaseoplysningerne, eller spring dette over, og tilføj oplysningerne senere fra Admin Panel:

  4. Fra rullemenuen øverst til højre skal du vælge Admin Panel og derefter klikke på Data Model i topmenuen.

  5. Til venstre skal du vælge lønninger for at se oplysninger om tabellen, såsom fremmednøgler og kolonnenavne. Klik på Tilføj et segment :

  6. Opret et filter for at se alle medarbejdere med en løn på over $50.000 (Metabase giver dig mulighed for at oprette dette filter uden at skrive SQL):

  7. Se resultaterne:

Metabase har meget mere funktionalitet, du kan udforske. Se den officielle dokumentation for andre brugssager med Metabase.

Flere oplysninger

Du ønsker måske at konsultere følgende ressourcer for yderligere oplysninger om dette emne. Selvom disse leveres i håb om, at de vil være nyttige, bemærk venligst, at vi ikke kan stå inde for nøjagtigheden eller aktualiteten af ​​eksternt hostede materialer.

  • Det officielle MySQL-websted
  • Metabase
  • Medarbejdere, der tester database

  1. Forskellen mellem BYTE og CHAR i kolonnedatatyper

  2. Hvordan bruger man et ALIAS i en PostgreSQL ORDER BY-klausul?

  3. Oracle underforespørgsel kan ikke se variablen fra den ydre blok 2 niveauer og op

  4. Jeg kan ikke finde my.cnf på min Windows-computer