Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Połącz Metabase z MySQL w celu eksploracji danych

Co to jest metabaza

Metabase zapewnia interfejs do wysyłania zapytań o dane w Twojej przeglądarce. Oprócz obsługi zapytań SQL, Metabase oferuje funkcje analizy danych bez SQL, tworzenia pulpitów nawigacyjnych i śledzenia metryk. Ten przewodnik pokazuje, jak połączyć MySQL z Metabase, a następnie wdrożyć na NGINX przez odwrotny serwer proxy.

Istnieje wiele dodatkowych baz danych, które są obsługiwane od SQLite do PostgreSQL. Wizualizacja wyników staje się bardzo prosta dzięki intuicyjnemu interfejsowi. To sprawia, że ​​Metabase jest wszechstronna do udostępniania danych nawet osobom bez zaplecza analitycznego.

Zainstaluj metabazę

Środowisko wykonawcze Java

Czynności opisane w tej sekcji zainstalują Java 8 JDK w systemie Ubuntu 16.04. W przypadku innych dystrybucji zapoznaj się z oficjalnymi dokumentami.

  1. Zainstaluj software-properties-common aby łatwo dodawać nowe repozytoria:

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

    sudo add-apt-repository ppa:webupd8team/java
    
  3. Zaktualizuj listę źródeł:

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

    sudo apt-get install oracle-java8-installer
    

Serwer MySQL

  1. Pobierz serwer MySQL. Wprowadź hasło roota, jeśli zostało określone:

    sudo apt install mysql-server
    
  2. Zaloguj się jako użytkownik root:

    mysql -u root -p
    
  3. Utwórz bazę danych i użytkownika dla 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
    

Pobierz metabazę

  1. Pobierz plik jar z Metabase:

    wget http://downloads.metabase.com/v0.28.1/metabase.jar
    
  2. Przenieś plik do /var aby mógł się uruchomić po ponownym uruchomieniu:

    sudo mv metabase.jar /var/metabase.jar
    

Odwróć serwer proxy z NGINX

  1. Zainstaluj NGINX

    sudo apt install nginx
    
  2. Utwórz nowy plik konfiguracyjny NGINX z poniższymi ustawieniami, ustawiając server_name z Twoim FDQN lub publicznym adresem IP:

    Plik:/ 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. Sprawdź, czy nie ma problemów z konfiguracją:

    sudo nginx -t
    
  4. Uruchom ponownie NGINX:

    sudo systemctl restart nginx
    

Pobierz przykładową bazę danych MySQL

Baza danych testowania pracowników to przykładowa baza danych, którą można załadować do MySQL. Baza danych składa się z danych o pracownikach i wynagrodzeniach z ponad 2,8 milionami wpisów, ten rozmiar sprawia, że ​​jest przydatna do eksperymentowania w nietrywialny sposób.

  1. Zainstaluj git:

    sudo apt install git
    
  2. Sklonuj repozytorium zawierające testową bazę danych:

    git clone https://github.com/datacharmer/test_db.git
    
  3. Przejdź do sklonowanego repozytorium:

    cd test_db
    
  4. Załaduj employees.sql do metabase_example bazy danych i wprowadź hasło użytkownika bazy danych, gdy zostaniesz o to poproszony:

    mysql -u metabase_user -p employees < employees.sql
    

    Konsola wydrukuje załadowane tabele, a także całkowity czas do ukończenia.

    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

Zmienne środowiskowe

  1. Utwórz nowy plik tekstowy zawierający zmienne środowiskowe dla Metabazy:

    Plik:metabaza -śr
    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. Załaduj te zmienne środowiskowe:

    source metabase-env
    

Ustaw metabazę na uruchamianie przy ponownym uruchomieniu

  1. Sprawdź ścieżkę swojego pliku binarnego JDK:

    which java
    

    Powinno to wyświetlić ścieżkę, taką jak /usr/bin/java .

  2. Utwórz plik konfiguracyjny systemd, aby upewnić się, że Metabase działa podczas uruchamiania. ExecStart= należy ustawić na ścieżkę JDK z góry. Pamiętaj, aby zastąpić User z twoją nazwą użytkownika uniksowego:

    Plik:/ 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. Zastosuj zmiany:

    sudo systemctl start metabase
    
  4. Sprawdź, czy Metabaza jest aktywna:

    sudo systemctl status metabase
    

Zasady zapory

Uwaga Usługa FreeCloud Firewall firmy Linode może zostać wykorzystana do zastąpienia lub uzupełnienia konfiguracji wewnętrznej zapory ogniowej. Więcej informacji na temat zapór w chmurze znajdziesz w naszym przewodniku Wprowadzenie do zapór w chmurze. Aby uzyskać pomoc w rozwiązywaniu ogólnych problemów z zaporami, zapoznaj się z przewodnikiem Rozwiązywanie problemów z zaporami.

UFW doskonale nadaje się do zapobiegania nieautoryzowanemu dostępowi do Twojej bazy danych. Rozsądnym ustawieniem domyślnym jest zezwolenie na port 80/443 i SSH:

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

Sprawdź reguły zapory sieciowej:

sudo ufw status

Interfejs metabazy

Metabaza jest teraz dostępna w przeglądarce na publicznym adresie IP Linode.

  1. Pierwsza próba uzyskania dostępu zajmie trochę czasu, ponieważ baza danych MySQL wymaga migracji:

  2. Utwórz konto:

  3. Wprowadź informacje o bazie danych lub pomiń je, a następnie dodaj je później z panelu administracyjnego:

  4. Z menu rozwijanego w prawym górnym rogu wybierz Panel administracyjny, a następnie kliknij Model danych w górnym menu.

  5. Po lewej stronie wybierz pensje, aby wyświetlić informacje o tabeli, takie jak klucze obce i nazwy kolumn. Kliknij Dodaj segment :

  6. Utwórz filtr, aby wyświetlić wszystkich pracowników z pensją większą niż 50 000 USD (Metabaza umożliwia utworzenie tego filtra bez pisania SQL):

  7. Zobacz wyniki:

Metabaza ma znacznie więcej funkcji, które możesz odkrywać. Zapoznaj się z oficjalną dokumentacją dotyczącą innych przypadków użycia z Metabase.

Więcej informacji

Dodatkowe informacje na ten temat można znaleźć w poniższych zasobach. Chociaż są one dostarczane w nadziei, że będą przydatne, należy pamiętać, że nie możemy ręczyć za dokładność ani aktualność materiałów hostowanych zewnętrznie.

  • Oficjalna witryna internetowa MySQL
  • Metabaza
  • Baza danych pracowników testujących

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak połączyć się z wieloma bazami danych MySQL na jednej stronie internetowej?

  2. Czy mysql_real_escape_string() i mysql_escape_string() są wystarczające do zapewnienia bezpieczeństwa aplikacji?

  3. Funkcja MySQL EXP() — powrót e podniesiony do potęgi x

  4. Różnica między SET autocommit=1 i START TRANSACTION w mysql (Czy coś przeoczyłem?)

  5. GROUP_CONCAT() Funkcja w MySQL