sql >> Base de Datos >  >> RDS >> Mysql

Conecte Metabase con MySQL para la exploración de datos

Qué es Metabase

Metabase proporciona una interfaz para consultar datos en su navegador. Además de admitir consultas SQL, Metabase ofrece funcionalidad para analizar datos sin SQL, crear paneles y realizar un seguimiento de las métricas. Esta guía muestra cómo conectar MySQL a Metabase y luego implementar en NGINX a través de un proxy inverso.

Hay una serie de bases de datos adicionales que son compatibles desde SQLite hasta PostgreSQL. La visualización de resultados se vuelve muy simple a través de una interfaz intuitiva. Esto hace que Metabase sea versátil para compartir datos incluso entre quienes no tienen experiencia analítica.

Instalar Metabase

Entorno de tiempo de ejecución de Java

Los pasos de esta sección instalarán Java 8 JDK en Ubuntu 16.04. Para otras distribuciones, consulte los documentos oficiales.

  1. Instalar software-properties-common para agregar fácilmente nuevos repositorios:

    sudo apt-get install software-properties-common
    
  2. Agregue el PPA de Java:

    sudo add-apt-repository ppa:webupd8team/java
    
  3. Actualice la lista de fuentes:

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

    sudo apt-get install oracle-java8-installer
    

Servidor MySQL

  1. Descargar servidor MySQL. Introduzca una contraseña de root cuando se especifique:

    sudo apt install mysql-server
    
  2. Inicie sesión como usuario root:

    mysql -u root -p
    
  3. Cree una base de datos y un usuario para 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
    

Descargar Metabase

  1. Descargue el archivo jar de Metabase:

    wget http://downloads.metabase.com/v0.28.1/metabase.jar
    
  2. Mueve el archivo a /var para que pueda comenzar al reiniciar:

    sudo mv metabase.jar /var/metabase.jar
    

Proxy inverso con NGINX

  1. Instalar NGINX

    sudo apt install nginx
    
  2. Cree un nuevo archivo de configuración NGINX con la configuración a continuación configurando server_name con tu FDQN o dirección IP pública:

    Archivo:/ etc/nginx/conf.d/mebase.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. Verifique que no haya problemas con la configuración:

    sudo nginx -t
    
  4. Reiniciar NGINX:

    sudo systemctl restart nginx
    

Descargar ejemplo de base de datos MySQL

La base de datos de pruebas de empleados es una base de datos de ejemplo que se puede cargar en MySQL. La base de datos consta de datos de empleados y salarios con más de 2,8 millones de entradas, este tamaño lo hace útil para experimentar de una manera no trivial.

  1. Instalar git:

    sudo apt install git
    
  2. Clona el repositorio que contiene la base de datos de prueba:

    git clone https://github.com/datacharmer/test_db.git
    
  3. Navega al repositorio clonado:

    cd test_db
    
  4. Cargue employees.sql en el metabase_example base de datos e ingrese la contraseña de usuario de la base de datos cuando se le solicite:

    mysql -u metabase_user -p employees < employees.sql
    

    La consola imprimirá las tablas que se cargaron, así como el tiempo total para completar.

    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 de entorno

  1. Cree un nuevo archivo de texto que contenga las variables de entorno para Metabase:

    Archivo: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. Cargue estas variables de entorno:

    source metabase-env
    

Establecer metabase para iniciar en el reinicio

  1. Compruebe la ruta de su binario JDK:

    which java
    

    Esto debería imprimir una ruta como /usr/bin/java .

  2. Cree un archivo de configuración systemd para garantizar que Metabase se ejecute al inicio. ExecStart= debe establecer la ruta JDK desde arriba. Asegúrese de reemplazar User con tu nombre de usuario Unix:

    Archivo:/ etc/systemd/system/mebase.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. Aplicar los cambios:

    sudo systemctl start metabase
    
  4. Compruebe que Metabase está activo:

    sudo systemctl status metabase
    

Reglas de cortafuegos

Nota El servicio FreeCloud Firewall de Linode se puede utilizar para reemplazar o complementar la configuración del firewall interno. Para obtener más información sobre Cloud Firewalls, consulte nuestra guía Primeros pasos con Cloud Firewalls. Para obtener ayuda con la resolución de problemas generales de cortafuegos, consulte la guía de solución de problemas de cortafuegos.

UFW es excelente para evitar el acceso no autorizado a su base de datos. Un valor predeterminado razonable es permitir el puerto 80/443 y SSH:

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

Compruebe las reglas del cortafuegos:

sudo ufw status

Interfaz de la metabase

Ahora se puede acceder a Metabase en el navegador en la dirección IP pública de su Linode.

  1. La primera vez que intente acceder, llevará algún tiempo porque la base de datos MySQL necesita migrar:

  2. Crear una cuenta:

  3. Ingrese la información de la base de datos u omita esto y luego agregue la información más tarde desde el Panel de administración:

  4. En el menú desplegable superior derecho, seleccione Panel de administración y luego haga clic en Modelo de datos en el menú superior.

  5. A la izquierda, seleccione salarios para ver información sobre la tabla, como claves externas y nombres de columnas. Haga clic en Agregar un segmento :

  6. Cree un filtro para ver todos los empleados con un salario mayor a $50,000 (Metabase le permite crear este filtro sin escribir SQL):

  7. Ver los resultados:

Metabase tiene mucha más funcionalidad que puede explorar. Consulte la documentación oficial para otros casos de uso con Metabase.

Más información

Es posible que desee consultar los siguientes recursos para obtener información adicional sobre este tema. Si bien estos se proporcionan con la esperanza de que sean útiles, tenga en cuenta que no podemos garantizar la precisión o la puntualidad de los materiales alojados externamente.

  • El sitio web oficial de MySQL
  • Metabasa
  • Base de datos de pruebas de empleados