MySQL, MariaDB, dan SingleStore

Dialek yang menggunakan petunjuk ini

MySQL, MariaDB, dan SingleStore (sebelumnya MemSQL) membagikan persyaratan penyiapan database yang dijelaskan di halaman ini.

Mengenkripsi lalu lintas jaringan

Praktik terbaiknya adalah mengenkripsi traffic jaringan antara aplikasi Looker dan database Anda. Pertimbangkan salah satu opsi yang dijelaskan di halaman dokumentasi Mengaktifkan akses database yang aman.

Jika Anda tertarik untuk menggunakan enkripsi SSL, lihat halaman dokumentasi MySQL ini.

Pengguna dan keamanan

Untuk membuat dan memberikan akses yang diperlukan kepada pengguna Looker, ikuti petunjuk di bagian yang sesuai dengan dialek dan versi database Anda:

MySQL 8.0.X:

Di MySQL 8.0.X, plugin autentikasi default-nya adalah caching_sha2_password. Looker menggunakan plugin mysql_native_password untuk mencoba melakukan autentikasi ke database MySQL melalui driver JDBC. Agar MySQL versi ini dapat berfungsi dengan baik, Anda harus melakukan langkah-langkah tambahan berikut:

  1. Konfigurasikan database MySQL untuk menggunakan plugin mysql_native_password. Hal ini dapat dilakukan dengan beberapa cara, dan akan bergantung pada bagaimana database MySQL 8 Anda di-deploy dan jenis akses yang Anda miliki ke konfigurasi:

    • Memulai proses dengan flag --default-auth=mysql_native_password

    • Tetapkan properti di file konfigurasi my.cnf:

    [mysqld]
    default-authentication-plugin=mysql_native_password
    
    • Jika instance database Anda dihosting melalui AWS RDS, tetapkan parameter default_authentication_plugin melalui Grup Parameter RDS yang diterapkan ke instance database ini.
  2. Jalankan perintah berikut, dengan mengganti some_password_here dengan sandi yang unik dan aman:

    CREATE USER looker IDENTIFIED WITH mysql_native_password BY 'some_password_here';
    GRANT SELECT ON database_name.* TO 'looker'@'%';
    

MySQL 5.7.X dan yang lebih lama, MariaDB, dan SingleStore:

Jalankan perintah berikut, dengan mengganti some_password_here dengan sandi yang unik dan aman:

CREATE USER looker;
SET PASSWORD FOR looker = PASSWORD ('some_password_here');
GRANT SELECT ON database_name.* TO 'looker'@'%';

Penyiapan skema sementara untuk tabel turunan persisten

Dialek database ini mendukung pembuatan tabel turunan persisten (PDT). Fitur ini dapat sangat berguna, dan sebaiknya Anda mengaktifkannya jika memungkinkan.

Untuk mengaktifkan PDT, Anda perlu mengonfigurasi skema sementara. Perintah berikut menunjukkan contoh pembuatan database sementara dan memberikan hak istimewa yang diperlukan kepada pengguna looker.

Anda dapat menentukan nama database sementara di kolom Temp Database saat membuat koneksi database. Jika Anda tidak menentukan nama database sementara, Looker akan membuat database scratch bernama looker_tmp. Perintah berikut menggunakan looker_tmp, tetapi jika Anda menentukan nama database sementara yang berbeda, gunakan nama database sementara, bukan looker_tmp.

CREATE SCHEMA looker_tmp;
GRANT
  SELECT,
  INDEX,
  INSERT,
  UPDATE,
  DELETE,
  CREATE,
  DROP,
  ALTER,
  CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';

Untuk SingleStore, atau jika database Anda menggunakan replikasi berbasis GTID, Anda harus menggunakan parameter LookML create_process untuk menggunakan PDT, karena GTID tidak mendukung pernyataan CREATE TABLE AS SELECT.

Penyiapan alternatif untuk tabel turunan reguler

Jika tidak ingin mengizinkan pembuatan tabel turunan persisten, Anda masih dapat menggunakan tabel turunan reguler. Untuk menggunakan tabel turunan reguler, Anda masih perlu menambahkan izin tertentu ke skema yang disebut looker_tmp. Namun, skema looker_tmp sebenarnya tidak harus ada di database Anda.

GRANT
  SELECT,
  INDEX,
  INSERT,
  DROP,
  CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
-- Note that the looker_tmp schema does not need to actually exist,
-- even though these permission grants are still needed

Menetapkan variabel max_allowed_packet

Untuk MySQL, tetapkan variabel max_allowed_packet MySQL ke nilai maksimumnya, 1073741824, untuk mencegah error "SQLException: Packet for query is too large".

Membuat koneksi Looker ke database Anda

Setelah menyelesaikan konfigurasi database, Anda dapat terhubung ke database tersebut dari Looker. Ikuti langkah-langkah berikut untuk membuat koneksi dari Looker ke database Anda:

  1. Di bagian Admin Looker, pilih Connections, lalu klik Add Connection.
  2. Dari menu drop-down Dialect, pilih nama dialek database Anda: MySQL, MySQL 8.0.12+, MariaDB, SingleStore, atau SingleStore 7+.

  3. Isi detail koneksi. Sebagian besar setelan bersifat umum untuk sebagian besar dialek database. Lihat halaman dokumentasi Menghubungkan Looker ke database untuk mendapatkan informasi.

  4. Untuk memverifikasi bahwa koneksi berhasil, klik Test. Lihat halaman dokumentasi Menguji konektivitas database untuk informasi pemecahan masalah.

  5. Untuk menyimpan setelan ini, klik Hubungkan.

Dukungan fitur

Agar Looker dapat mendukung beberapa fitur, dialek database Anda juga harus mendukung fitur tersebut.

MySQL mendukung fitur berikut mulai Looker 24.6:

Fitur Didukung?
Level Dukungan
Didukung
Looker (Google Cloud core)
Ya
Agregat Simetris
Ya
Tabel Turunan
Ya
Tabel Turunan SQL Persisten
Ya
Tabel Turunan Berbasis Persisten
Ya
Tampilan Stabil
Ya
Penghentian Kueri
Ya
Pivot berbasis SQL
Ya
Zona waktu
Ya
SSL
Ya
Subtotal
Ya
Parameter Tambahan JDBC
Ya
Peka Huruf Besar/Kecil
Tidak
Jenis Lokasi
Ya
Jenis Daftar
Ya
Persentil
Ya
Persentil berbeda
Ya
Proses Tampilan Runner SQL
Ya
Tabel Deskripsi Runner SQL
Ya
Indeks Tampilan Runner SQL
Ya
Pilihan Runner SQL 10
Ya
Jumlah Runner SQL
Ya
Penjelasan SQL
Ya
Kredensial OAuth
Tidak
Komentar Konteks
Ya
Penggabungan Koneksi
Tidak
Sketsa HLL
Tidak
Awareness Gabungan
Ya
PDT inkremental
Ya
Milidetik
Ya
Mikrodetik
Ya
Tampilan Terwujud
Tidak
Perkiraan Jumlah Berbeda
Tidak

MySQL 8.0.12+ mendukung fitur berikut mulai Looker 24.6:

Fitur Didukung?
Level Dukungan
Didukung
Looker (Google Cloud core)
Ya
Agregat Simetris
Ya
Tabel Turunan
Ya
Tabel Turunan SQL Persisten
Ya
Tabel Turunan Berbasis Persisten
Ya
Tampilan Stabil
Ya
Penghentian Kueri
Ya
Pivot berbasis SQL
Ya
Zona waktu
Ya
SSL
Ya
Subtotal
Ya
Parameter Tambahan JDBC
Ya
Peka Huruf Besar/Kecil
Tidak
Jenis Lokasi
Ya
Jenis Daftar
Ya
Persentil
Ya
Persentil berbeda
Ya
Proses Tampilan Runner SQL
Ya
Tabel Deskripsi Runner SQL
Ya
Indeks Tampilan Runner SQL
Ya
Pilihan Runner SQL 10
Ya
Jumlah Runner SQL
Ya
Penjelasan SQL
Ya
Kredensial OAuth
Tidak
Komentar Konteks
Ya
Penggabungan Koneksi
Tidak
Sketsa HLL
Tidak
Awareness Gabungan
Ya
PDT inkremental
Ya
Milidetik
Ya
Mikrodetik
Ya
Tampilan Terwujud
Tidak
Perkiraan Jumlah Berbeda
Tidak

MariaDB mendukung fitur berikut mulai Looker 24.6:

Fitur Didukung?
Level Dukungan
Didukung
Looker (Google Cloud core)
Ya
Agregat Simetris
Ya
Tabel Turunan
Ya
Tabel Turunan SQL Persisten
Ya
Tabel Turunan Berbasis Persisten
Ya
Tampilan Stabil
Ya
Penghentian Kueri
Ya
Pivot berbasis SQL
Tidak
Zona waktu
Ya
SSL
Ya
Subtotal
Ya
Parameter Tambahan JDBC
Ya
Peka Huruf Besar/Kecil
Tidak
Jenis Lokasi
Ya
Jenis Daftar
Ya
Persentil
Ya
Persentil berbeda
Ya
Proses Tampilan Runner SQL
Ya
Tabel Deskripsi Runner SQL
Ya
Indeks Tampilan Runner SQL
Ya
Pilihan Runner SQL 10
Ya
Jumlah Runner SQL
Ya
Penjelasan SQL
Ya
Kredensial OAuth
Tidak
Komentar Konteks
Ya
Penggabungan Koneksi
Tidak
Sketsa HLL
Tidak
Awareness Gabungan
Ya
PDT inkremental
Tidak
Milidetik
Ya
Mikrodetik
Ya
Tampilan Terwujud
Tidak
Perkiraan Jumlah Berbeda
Tidak

SingleStore mendukung fitur berikut mulai Looker 24.6:

Fitur Didukung?
Level Dukungan
Didukung
Looker (Google Cloud core)
Tidak
Agregat Simetris
Ya
Tabel Turunan
Ya
Tabel Turunan SQL Persisten
Ya
Tabel Turunan Berbasis Persisten
Ya
Tampilan Stabil
Ya
Penghentian Kueri
Ya
Pivot berbasis SQL
Ya
Zona waktu
Ya
SSL
Ya
Subtotal
Ya
Parameter Tambahan JDBC
Ya
Peka Huruf Besar/Kecil
Tidak
Jenis Lokasi
Ya
Jenis Daftar
Ya
Persentil
Tidak
Persentil berbeda
Tidak
Proses Tampilan Runner SQL
Ya
Tabel Deskripsi Runner SQL
Ya
Indeks Tampilan Runner SQL
Ya
Pilihan Runner SQL 10
Ya
Jumlah Runner SQL
Ya
Penjelasan SQL
Ya
Kredensial OAuth
Tidak
Komentar Konteks
Ya
Penggabungan Koneksi
Tidak
Sketsa HLL
Tidak
Awareness Gabungan
Ya
PDT inkremental
Tidak
Milidetik
Ya
Mikrodetik
Ya
Tampilan Terwujud
Tidak
Perkiraan Jumlah Berbeda
Tidak

SingleStore 7+ mendukung fitur berikut mulai Looker 24.6:

Fitur Didukung?
Level Dukungan
Didukung
Looker (Google Cloud core)
Ya
Agregat Simetris
Ya
Tabel Turunan
Ya
Tabel Turunan SQL Persisten
Ya
Tabel Turunan Berbasis Persisten
Ya
Tampilan Stabil
Ya
Penghentian Kueri
Ya
Pivot berbasis SQL
Ya
Zona waktu
Ya
SSL
Ya
Subtotal
Ya
Parameter Tambahan JDBC
Ya
Peka Huruf Besar/Kecil
Tidak
Jenis Lokasi
Ya
Jenis Daftar
Ya
Persentil
Ya
Persentil berbeda
Tidak
Proses Tampilan Runner SQL
Ya
Tabel Deskripsi Runner SQL
Ya
Indeks Tampilan Runner SQL
Ya
Pilihan Runner SQL 10
Ya
Jumlah Runner SQL
Ya
Penjelasan SQL
Ya
Kredensial OAuth
Tidak
Komentar Konteks
Ya
Penggabungan Koneksi
Tidak
Sketsa HLL
Tidak
Awareness Gabungan
Ya
PDT inkremental
Tidak
Milidetik
Ya
Mikrodetik
Ya
Tampilan Terwujud
Tidak
Perkiraan Jumlah Berbeda
Tidak