Mysql
 sql >> Base de données >  >> RDS >> Mysql

Connectez la métabase à MySQL pour l'exploration de données

Qu'est-ce que la métabase

Metabase fournit une interface pour interroger les données sur votre navigateur. En plus de prendre en charge les requêtes SQL, Metabase offre des fonctionnalités pour analyser les données sans SQL, créer des tableaux de bord et suivre les métriques. Ce guide montre comment connecter MySQL à Metabase puis déployer sur NGINX via un proxy inverse.

Il existe un certain nombre de bases de données supplémentaires qui sont prises en charge de SQLite à PostgreSQL. La visualisation des résultats devient très simple grâce à une interface intuitive. Cela rend Metabase polyvalent pour le partage de données, même parmi ceux qui n'ont pas d'expérience analytique.

Installer la métabase

Environnement d'exécution Java

Les étapes de cette section installeront le JDK Java 8 sur Ubuntu 16.04. Pour les autres distributions, consultez la documentation officielle.

  1. Installez software-properties-common pour ajouter facilement de nouveaux référentiels :

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

    sudo add-apt-repository ppa:webupd8team/java
    
  3. Mettre à jour la liste des sources :

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

    sudo apt-get install oracle-java8-installer
    

MySQL Server

  1. Téléchargez le serveur MySQL. Entrez un mot de passe root lorsqu'il est spécifié :

    sudo apt install mysql-server
    
  2. Connectez-vous en tant qu'utilisateur root :

    mysql -u root -p
    
  3. Créez une base de données et un utilisateur pour la métabase :

    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
    

Télécharger la métabase

  1. Téléchargez le fichier jar depuis Metabase :

    wget http://downloads.metabase.com/v0.28.1/metabase.jar
    
  2. Déplacez le fichier dans /var pour qu'il puisse démarrer au redémarrage :

    sudo mv metabase.jar /var/metabase.jar
    

Proxy inverse avec NGINX

  1. Installer NGINX

    sudo apt install nginx
    
  2. Créez un nouveau fichier de configuration NGINX avec les paramètres ci-dessous en définissant server_name avec votre FDQN ou votre adresse IP publique :

    Fichier :/ 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. Vérifiez qu'il n'y a aucun problème avec la configuration :

    sudo nginx -t
    
  4. Redémarrez NGINX :

    sudo systemctl restart nginx
    

Télécharger un exemple de base de données MySQL

La base de données de test des employés est un exemple de base de données qui peut être chargée dans MySQL. La base de données se compose de données sur les employés et les salaires avec plus de 2,8 millions d'entrées, cette taille la rend utile pour expérimenter de manière non triviale.

  1. Installer git :

    sudo apt install git
    
  2. Clonez le dépôt contenant la base de données de test :

    git clone https://github.com/datacharmer/test_db.git
    
  3. Accédez au dépôt cloné :

    cd test_db
    
  4. Charger employees.sql dans le metabase_example base de données et entrez le mot de passe de l'utilisateur de la base de données lorsque vous y êtes invité :

    mysql -u metabase_user -p employees < employees.sql
    

    La console imprimera les tables qui sont chargées ainsi que le temps total pour terminer.

    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

Variables d'environnement

  1. Créez un nouveau fichier texte contenant les variables d'environnement pour Metabase :

    Fichier :métabase -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. Chargez ces variables d'environnement :

    source metabase-env
    

Définir la métabase pour qu'elle démarre au redémarrage

  1. Vérifiez le chemin de votre binaire JDK :

    which java
    

    Cela devrait imprimer un chemin tel que /usr/bin/java .

  2. Créez un fichier de configuration systemd pour vous assurer que la métabase s'exécute au démarrage. ExecStart= doit être défini sur le chemin JDK d'en haut. Assurez-vous de remplacer User avec votre nom d'utilisateur Unix :

    Fichier :/ 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. Appliquer les modifications :

    sudo systemctl start metabase
    
  4. Vérifiez que la métabase est active :

    sudo systemctl status metabase
    

Règles de pare-feu

Remarque Le service freeCloud Firewall de Linode peut être utilisé pour remplacer ou compléter la configuration du pare-feu interne. Pour plus d'informations sur les pare-feu cloud, consultez notre guide Premiers pas avec les pare-feu cloud. Pour obtenir de l'aide sur la résolution des problèmes généraux de pare-feu, consultez le guide de dépannage des pare-feu.

UFW est idéal pour empêcher l'accès non autorisé à votre base de données. Une valeur par défaut raisonnable consiste à autoriser le port 80/443 et SSH :

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

Vérifiez les règles du pare-feu :

sudo ufw status

Interface de métabase

La métabase est maintenant accessible sur le navigateur sur l'adresse IP publique de votre Linode.

  1. La première fois que vous essayez d'y accéder, cela prendra un certain temps car la base de données MySQL doit migrer :

  2. Créer un compte :

  3. Entrez les informations de la base de données ou ignorez ceci, puis ajoutez les informations ultérieurement à partir du panneau d'administration :

  4. Dans le menu déroulant en haut à droite, sélectionnez Panneau d'administration, puis cliquez sur Modèle de données dans le menu supérieur.

  5. Sur la gauche, sélectionnez salaires pour afficher des informations sur la table, telles que les clés étrangères et les noms de colonne. Cliquez sur Ajouter un segment :

  6. Créez un filtre pour afficher tous les employés dont le salaire est supérieur à 50 000 $ (la métabase vous permet de créer ce filtre sans écrire de SQL) :

  7. Voir les résultats :

La métabase a beaucoup plus de fonctionnalités que vous pouvez explorer. Reportez-vous à la documentation officielle pour d'autres cas d'utilisation avec Metabase.

Plus d'informations

Vous pouvez consulter les ressources suivantes pour plus d'informations sur ce sujet. Bien que ceux-ci soient fournis dans l'espoir qu'ils seront utiles, veuillez noter que nous ne pouvons pas garantir l'exactitude ou l'actualité des documents hébergés en externe.

  • Le site Web officiel de MySQL
  • Métabase
  • Base de données sur les tests des employés