Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Kết nối Metabase với MySQL để khám phá dữ liệu

Metabase là gì

Metabase cung cấp giao diện để truy vấn dữ liệu trên trình duyệt của bạn. Ngoài việc hỗ trợ truy vấn SQL, Metabase cung cấp chức năng phân tích dữ liệu mà không cần SQL, tạo trang tổng quan và theo dõi số liệu. Hướng dẫn này chỉ ra cách kết nối MySQL với Metabase sau đó triển khai trên NGINX thông qua proxy ngược.

Có một số cơ sở dữ liệu bổ sung được hỗ trợ từ SQLite đến PostgreSQL. Việc hình dung kết quả trở nên rất đơn giản thông qua một giao diện trực quan. Điều này làm cho Metabase trở nên linh hoạt để chia sẻ dữ liệu ngay cả với những người không có nền tảng phân tích.

Cài đặt siêu dữ liệu

Java Runtime Environment

Các bước trong phần này sẽ cài đặt Java 8 JDK trên Ubuntu 16.04. Đối với các bản phân phối khác, hãy xem tài liệu chính thức.

  1. Cài đặt software-properties-common để dễ dàng thêm các kho mới:

    sudo apt-get install software-properties-common
    
  2. Thêm PPA Java:

    sudo add-apt-repository ppa:webupd8team/java
    
  3. Cập nhật danh sách nguồn:

    sudo apt-get update
    
  4. Cài đặt Java JDK 8:

    sudo apt-get install oracle-java8-installer
    

Máy chủ MySQL

  1. Tải xuống MySQL Server. Nhập mật khẩu gốc khi được chỉ định:

    sudo apt install mysql-server
    
  2. Đăng nhập với tư cách người dùng root:

    mysql -u root -p
    
  3. Tạo cơ sở dữ liệu và người dùng cho 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
    

Tải xuống Metabase

  1. Tải xuống tệp jar từ Metabase:

    wget http://downloads.metabase.com/v0.28.1/metabase.jar
    
  2. Di chuyển tệp vào /var để nó có thể bắt đầu khi khởi động lại:

    sudo mv metabase.jar /var/metabase.jar
    

Reverse Proxy với NGINX

  1. Cài đặt NGINX

    sudo apt install nginx
    
  2. Tạo tệp cấu hình NGINX mới với cài đặt bên dưới cài đặt server_name bằng FDQN hoặc địa chỉ IP công cộng của bạn:

    Tệp:/ 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. Xác minh rằng không có vấn đề gì với cấu hình:

    sudo nginx -t
    
  4. Khởi động lại NGINX:

    sudo systemctl restart nginx
    

Tải xuống Cơ sở dữ liệu MySQL mẫu

Cơ sở dữ liệu kiểm tra nhân viên là một cơ sở dữ liệu mẫu có thể được tải vào MySQL. Cơ sở dữ liệu bao gồm dữ liệu về nhân viên và tiền lương với hơn 2,8 triệu mục nhập, kích thước này giúp nó hữu ích cho việc thử nghiệm theo một cách không tầm thường.

  1. Cài đặt git:

    sudo apt install git
    
  2. Sao chép kho chứa cơ sở dữ liệu thử nghiệm:

    git clone https://github.com/datacharmer/test_db.git
    
  3. Điều hướng vào kho lưu trữ nhân bản:

    cd test_db
    
  4. Tải employees.sql vào metabase_example cơ sở dữ liệu và nhập mật khẩu người dùng cơ sở dữ liệu khi được nhắc:

    mysql -u metabase_user -p employees < employees.sql
    

    Bảng điều khiển sẽ in ra các bảng được tải cũng như tổng thời gian để hoàn thành.

    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

Biến môi trường

  1. Tạo một tệp văn bản mới chứa các biến môi trường cho Metabase:

    Tệp: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. Tải các biến môi trường này:

    source metabase-env
    

Đặt Metabase thành Start khi khởi động lại

  1. Kiểm tra đường dẫn của tệp nhị phân JDK của bạn:

    which java
    

    Điều này sẽ in ra một đường dẫn như /usr/bin/java .

  2. Tạo tệp cấu hình systemd để đảm bảo Metabase chạy khi khởi động. ExecStart= nên đặt thành đường dẫn JDK từ phía trên. Đảm bảo thay thế User với tên người dùng Unix của bạn:

    Tệp:/ 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. Áp dụng các thay đổi:

    sudo systemctl start metabase
    
  4. Kiểm tra xem Metabase đang hoạt động:

    sudo systemctl status metabase
    

Quy tắc tường lửa

Lưu ý Dịch vụ Tường lửa đám mây miễn phí của Linode có thể được sử dụng để thay thế hoặc bổ sung cho cấu hình tường lửa nội bộ. Để biết thêm thông tin về Cloud Firewall, hãy xem hướng dẫn Bắt đầu với Cloud Firewall của chúng tôi. Để được trợ giúp giải quyết các vấn đề chung về tường lửa, hãy xem hướng dẫn Khắc phục sự cố Tường lửa.

UFW rất tốt để ngăn chặn truy cập trái phép vào cơ sở dữ liệu của bạn. Mặc định hợp lý là cho phép cổng 80/443 và SSH:

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

Kiểm tra các quy tắc tường lửa:

sudo ufw status

Giao diện siêu dữ liệu

Metabase hiện có thể truy cập trên trình duyệt trên địa chỉ IP công khai của Linode của bạn.

  1. Lần đầu tiên bạn cố gắng truy cập, sẽ mất một khoảng thời gian vì cơ sở dữ liệu MySQL cần phải di chuyển:

  2. Tạo tài khoản:

  3. Nhập thông tin cơ sở dữ liệu hoặc bỏ qua phần này rồi thêm thông tin sau từ Bảng điều khiển quản trị:

  4. Từ menu thả xuống trên cùng bên phải, chọn Bảng điều khiển quản trị, sau đó nhấp vào Mô hình dữ liệu trên menu trên cùng.

  5. Ở bên trái, chọn lương để xem thông tin về bảng, chẳng hạn như khóa ngoại và tên cột. Nhấp vào Thêm phân đoạn :

  6. Tạo bộ lọc để xem tất cả nhân viên có mức lương lớn hơn 50.000 đô la (Metabase cho phép bạn tạo bộ lọc này mà không cần viết SQL):

  7. Xem kết quả:

Metabase có nhiều chức năng hơn mà bạn có thể khám phá. Tham khảo tài liệu chính thức về các trường hợp sử dụng khác với Metabase.

Thông tin khác

Bạn có thể muốn tham khảo các nguồn sau đây để biết thêm thông tin về chủ đề này. Mặc dù những điều này được cung cấp với hy vọng rằng chúng sẽ hữu ích, xin lưu ý rằng chúng tôi không thể đảm bảo tính chính xác hoặc kịp thời của các tài liệu được lưu trữ bên ngoài.

  • Trang web MySQL Chính thức
  • Siêu dữ liệu
  • Cơ sở dữ liệu kiểm tra nhân viên

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng Jquery Ajax để lấy dữ liệu từ Mysql

  2. LỖI 2006 (HY000):Máy chủ MySQL đã biến mất

  3. Làm cách nào để liên kết các tham số với một truy vấn DB thô trong Laravel được sử dụng trên một mô hình?

  4. Sử dụng LIMIT trong GROUP BY để nhận N kết quả cho mỗi nhóm?

  5. Cách lưu trữ tốt nhất thông tin người dùng và thông tin đăng nhập và mật khẩu của người dùng