sql >> データベース >  >> RDS >> Mysql

データ探索のためにMetabaseをMySQLに接続する

    メタベースとは

    Metabaseは、ブラウザでデータをクエリするためのインターフェイスを提供します。 Metabaseは、SQLクエリのサポートに加えて、SQLなしでデータを分析し、ダッシュボードを作成し、メトリックを追跡する機能を提供します。このガイドでは、MySQLをMetabaseに接続し、リバースプロキシを介してNGINXにデプロイする方法を示します。

    SQLiteからPostgreSQLまでサポートされている追加のデータベースがいくつかあります。結果の視覚化は、直感的なインターフェイスを介して非常に簡単になります。これにより、Metabaseは、分析のバックグラウンドがない場合でもデータを共有するための汎用性があります。

    メタベースのインストール

    Javaランタイム環境

    このセクションの手順では、Ubuntu16.04にJava8JDKをインストールします。その他のディストリビューションについては、公式ドキュメントをご覧ください。

    1. software-properties-commonをインストールします 新しいリポジトリを簡単に追加するには:

      sudo apt-get install software-properties-common
      
    2. Java PPAを追加します:

      sudo add-apt-repository ppa:webupd8team/java
      
    3. ソースリストを更新します:

      sudo apt-get update
      
    4. Java JDK 8をインストールします:

      sudo apt-get install oracle-java8-installer
      

    MySQL Server

    1. MySQLサーバーをダウンロードします。指定時にrootパスワードを入力してください:

      sudo apt install mysql-server
      
    2. rootユーザーとしてログインします:

      mysql -u root -p
      
    3. 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
      

    メタベースのダウンロード

    1. Metabaseからjarファイルをダウンロードします:

      wget http://downloads.metabase.com/v0.28.1/metabase.jar
      
    2. ファイルを/varに移動します 再起動時に開始できるようにする:

      sudo mv metabase.jar /var/metabase.jar
      

    NGINXを使用したリバースプロキシ

    1. NGINXをインストールする

      sudo apt install nginx
      
    2. 以下の設定でserver_nameを設定して新しいNGINX構成ファイルを作成します FDQNまたはパブリックIPアドレスを使用:

      ファイル:/ 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. 構成に問題がないことを確認します:

      sudo nginx -t
      
    4. NGINXを再起動します:

      sudo systemctl restart nginx
      

    サンプルのMySQLデータベースをダウンロード

    Employees Testing Databaseは、MySQLにロードできるサンプルデータベースです。データベースは、280万を超えるエントリを持つ従業員と給与のデータで構成されており、このサイズは、重要な方法での実験に役立ちます。

    1. gitをインストールする:

      sudo apt install git
      
    2. テストデータベースを含むリポジトリのクローンを作成します:

      git clone https://github.com/datacharmer/test_db.git
      
    3. 複製されたリポジトリに移動します:

      cd test_db
      
    4. employees.sqlをロードします metabase_exampleに データベースを作成し、プロンプトが表示されたらデータベースユーザーパスワードを入力します:

      mysql -u metabase_user -p employees < employees.sql
      

      コンソールは、ロードされたテーブルと完了までの合計時間を出力します。

      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

    環境変数

    1. 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. これらの環境変数をロードします:

      source metabase-env
      

    メタベースを再起動時に開始するように設定

    1. JDKバイナリのパスを確認してください:

      which java
      

      これにより、/usr/bin/javaなどのパスが出力されます。 。

    2. systemd構成ファイルを作成して、起動時にMetabaseが実行されるようにします。 ExecStart= 上からJDKパスに設定する必要があります。必ずUserを置き換えてください Unixユーザー名で:

      ファイル:/ 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. 変更を適用します:

      sudo systemctl start metabase
      
    4. Metabaseがアクティブであることを確認します:

      sudo systemctl status metabase
      

    ファイアウォールルール

    注 LinodeのfreeCloudファイアウォールサービスは、内部ファイアウォール構成を置き換えたり補足したりするために使用できます。クラウドファイアウォールの詳細については、「クラウドファイアウォール入門ガイド」を参照してください。一般的なファイアウォールの問題を解決するためのヘルプについては、ファイアウォールのトラブルシューティングガイドを参照してください。

    UFWは、データベースへの不正アクセスを防ぐのに最適です。妥当なデフォルトは、ポート80/443とSSHを許可することです:

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

    ファイアウォールルールを確認してください:

    sudo ufw status
    

    メタベースインターフェイス

    これで、ブラウザのLinodeのパブリックIPアドレスからメタベースにアクセスできます。

    1. 初めてアクセスしようとすると、MySQLデータベースを移行する必要があるため、しばらく時間がかかります。

    2. アカウントを作成する:

    3. データベース情報を入力するか、これをスキップして、後で管理パネルから情報を追加します。

    4. 右上のドロップダウンメニューから[管理パネル]を選択し、トップメニューの[データモデル]をクリックします。

    5. 左側で給与を選択すると、外部キーや列名などのテーブルに関する情報が表示されます。 セグメントの追加をクリックします :

    6. 給与が50,000ドルを超えるすべての従業員を表示するフィルターを作成します(Metabaseを使用すると、SQLを記述せずにこのフィルターを作成できます):

    7. 結果を見る:

    Metabaseには、探索できるはるかに多くの機能があります。 Metabaseのその他の使用例については、公式ドキュメントを参照してください。

    詳細情報

    このトピックの詳細については、次のリソースを参照してください。これらは有用であることを期待して提供されていますが、外部でホストされている資料の正確性や適時性を保証することはできません。

    • 公式MySQLWebサイト
    • メタベース
    • データベースをテストする従業員

    1. PDOATTR_PERSISTENTを完全に理解する

    2. SQLServerテーブルの列に非ヌル制約を作成する方法-SQLServer/T-SQLチュートリアルパート51

    3. Debian 6でMySQLリレーショナルデータベースを使用する(Squeeze)

    4. 結果が1つしかないことがわかっている場合、MySQLクエリに「LIMIT1」を追加すると、クエリが高速になりますか?