AppSheet dapat membuat aplikasi dari database MySQL yang dihosting di cloud, termasuk Google Cloud SQL, Amazon RDS, Oracle MySQL Cloud Service, atau penyedia hosting cloud lain yang mendukung MySQL
Gunakan data dari MySQL seperti yang dijelaskan di bagian berikut
Tambahkan sumber data MySQL
Sebelum menambahkan sumber data MySQL, lihat
Catatan. Agar server AppSheet dapat mengakses data Anda, jaringan database MySQL dan database MySQL itu sendiri harus menerima koneksi masuk dari server AppSheet ke database. Untuk informasi selengkapnya, lihat Mengelola alamat IP dan informasi firewall
Untuk menambahkan sumber data MySQL
- Buka Akun Saya > Sumber
Anda dapat melihat semua sumber data yang saat ini tersedia untuk Anda gunakan - Klik + Sumber Data Baru
- Masukkan nama sumber data dan klik Cloud Database di daftar sumber data
- Konfigurasi informasi koneksi database.
- Jenis. Pilih MySQL
- Server. Masukkan nama host server database MySQL atau alamat IP
- Basis data. Masukkan nama basis data
- Nama belakang. Masukkan nama pengguna pengguna basis data
- Kata sandi. Masukkan kata sandi untuk pengguna basis data
- SSL. Pilih mode SSL yang diperlukan untuk koneksi. Untuk informasi lebih lanjut, lihat
- Klik Uji untuk menguji detail koneksi
- Setelah pengujian berhasil, klik Izinkan Akses untuk menyimpan sumber data di akun AppSheet Anda
Konfigurasikan SSL
AppSheet dapat terhubung ke instance MySQL menggunakan Secure Socket Layer (SSL). Saat menambahkan sumber data MySQL, pilih salah satu opsi berikut
Modus SSL
Keterangan
Tidak ada
Koneksi SSL tidak diperlukan, meskipun beberapa penyedia awan masih akan berusaha membuat SSL, jika memungkinkan
Yg dibutuhkan
Data ke dan dari instance MySQL harus dienkripsi menggunakan protokol SSL
Hanya (dimiliki oleh instance MySQL) yang diperlukan untuk membuat koneksi. (Biasanya disimpan di klien aplikasi) adalah opsional
Catatan. Jika instance MySQL Anda dikonfigurasi untuk menggunakan X. 509, Anda harus mengubah mode koneksi ke SSL agar koneksi berfungsi. Untuk instance yang dihosting di Google Cloud, X. Mode 509 dapat dimatikan dengan membuka tab SSL dan mengklik Izinkan koneksi yang tidak aman. Ini akan melonggarkan persyaratan sertifikat klien
Verifikasi Ca
Data ke dan dari instance MySQL harus dienkripsi menggunakan protokol SSL
Menggunakan sertifikat klien untuk mengautentikasi dengan server. Selain itu, verifikasi CA server dengan sertifikat CA yang disediakan. Mode ini mentolerir ketidakcocokan nama host
Anda diminta untuk mengunggah konten berikut
- Sertifikat klien
- Kunci pribadi sertifikat klien
- Sertifikat CA server
Catatan. Mode ini berguna untuk server basis data yang tidak memiliki nama host tetapi membuka alamat IP untuk koneksi, seperti Google CloudSQL
Verifikasi Penuh
Data ke dan dari instance MySQL harus dienkripsi menggunakan protokol SSL
Mode ini sama dengan VerifyCa, tetapi juga mencocokkan nama host server dengan sertifikat CA
Anda diminta untuk mengunggah konten berikut
- Sertifikat klien
- Kunci pribadi sertifikat klien
- Sertifikat CA server
Saat menggunakan koneksi SSL, sangat disarankan agar instans MySQL menggunakan sertifikat server yang dibuat oleh otoritas sertifikat yang diakui secara luas seperti VeriSign atau GeoTrust. Ini akan memastikan bahwa sertifikat memenuhi semua standar enkripsi dan pemformatan yang relevan. Beberapa penyedia penyimpanan cloud, seperti Google Cloud dan Amazon RDS, juga membuat sertifikat server untuk instans MySQL yang mereka host. Saat ini, sertifikat server yang dibuat oleh TinyCA tidak didukung
Selain itu, sebaiknya tandatangani sertifikat server menggunakan algoritme pencirian SHA-2. Ini karena algoritme SHA-1 tidak lagi dianggap sepenuhnya aman, dan banyak penyedia cloud, termasuk Microsoft, Amazon, dan Google, semakin beralih ke SHA-2 dan SHA-3
Gunakan sumber data MySQL di aplikasi Anda
Setelah menambahkan sumber data MySQL ke akun, Anda dapat menambahkan tabel atau tampilan MySQL ke aplikasi apa pun. Saat memilih Tambahkan Tabel di aplikasi, Anda dapat memilih sumber data tertentu, dan tabel atau tampilan dari sumber data tersebut
Setelah ditambahkan ke aplikasi, AppSheet memperlakukan semua sumber data dengan cara yang sama. Faktanya, menggabungkan data dari sumber data MySQL dengan data dari sumber lain di aplikasi yang sama adalah hal yang umum
Gunakan MySQL di Amazon RDS
Jika instans MySQL Anda dihosting di Amazon RDS, Anda mungkin perlu menyetel pengaturan yang Dapat Diakses Publik ke Ya. Untuk memastikan server menerima lalu lintas dari AppSheet, buka pengaturan grup keamanan di Amazon RDS, masuk ke Konsol Manajemen EC2, pilih Edit aturan masuk, dan buat aturan untuk menerima semua lalu lintas dari alamat IP AppSheet, seperti yang dijelaskan dalam Kelola alamat IP dan informasi firewall
Versi MySQL yang didukung
Agar instans MySQL Anda berfungsi dengan AppSheet, sebaiknya gunakan MySQL versi 5. 7. 6 atau lebih
Selain itu, karena MySQL bersifat open source, banyak varian MySQL, seperti MariaDB atau Percona. Jika Anda menggunakan varian MySQL, AppSheet tidak dapat menjamin bahwa database Anda akan berfungsi
Catatan. Saat bekerja dengan sumber data MySQL, jika Anda menemukan Unknown column error, masalahnya kemungkinan besar terkait versi
Bagaimana file yang dibuat di aplikasi disimpan
Biasanya, jika aplikasi harus mengambil foto, misalnya, foto biasanya disimpan di folder yang berdekatan dengan sumber data di penyimpanan cloud. Tidak seperti penyedia penyimpanan cloud kami yang lain, server basis data tidak memiliki sistem file dan memerlukan perubahan perilaku AppSheet saat menyimpan file (seperti gambar dan dokumen)
Di tabel MySQL, file gambar dan dokumen disimpan di sistem file cloud utama yang terkait dengan akun AppSheet utama pembuat aplikasi (biasanya Google Drive, Dropbox, Office 365, atau Box). File akan disimpan dalam subfolder dari jalur folder default akun Anda (biasanya /appsheet/data)
Anda dapat melihat dan mengubah jalur folder default di halaman akun Anda di bawah tab Pengaturan
Bagaimana kolom wajib diatur
Setiap kolom basis data yang menentukan NOT NULL_ (misalnya, NN) dalam skema MySQL akan memiliki Required? . Dengan menentukan NOT NULL_ untuk kolom MySQL, Anda memastikan kolom tersebut memiliki nilai di database MySQL dan aplikasi AppSheet
Setiap kali Anda membuat ulang kolom tabel di editor aplikasi, AppSheet menyetel kolom Wajib?
Bekerja dengan kolom IDENTITAS
Biasanya tabel database menggunakan kolom IDENTITY sebagai kunci. Nilai kolom IDENTITY_ adalah angka yang bertambah secara otomatis yang dimasukkan secara otomatis oleh database
Menggunakan IDENTITY kolom dengan cara ini dengan AppSheet dapat menyebabkan masalah. Secara default, MySQL tidak membiarkan aplikasi menentukan nilai kolom IDENTITY. Karena dengan AppSheet, baris baru dapat dibuat di aplikasi saat offline dan disinkronkan nanti, aplikasi harus dapat menetapkan IDENTITY nilai kunci
Sebaiknya hindari penggunaan kunci kolom IDENTITY dalam skema database Anda. Sebagai gantinya, gunakan kolom dengan nilai ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish_ci; _4 dengan panjang lebih dari atau sama dengan 8, seperti ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish_ci; 5. Dalam definisi kolom AppSheet untuk kunci ini, masukkan nilai awal menggunakan ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish_ci; 6. Dengan menggunakan metode ini, nilai kunci unik dapat ditetapkan oleh aplikasi dan dimasukkan ke dalam database backend
Jika database harus menggunakan IDENTITY kolom, kami sarankan Anda membuatnya dengan seed awal yang besar. Misalnya, atur ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish_ci; 8. Dalam definisi kolom AppSheet untuk kunci ini, berikan nilai awal ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish_ci; 9Unknown column error0. Dengan cara ini, catatan apa pun yang dibuat dari aplikasi Anda akan memiliki nilai lima digit yang jatuh secara acak dalam kisaran 10.000 hingga 99999, sedangkan catatan yang dibuat langsung terhadap database akan memiliki nilai yang lebih tinggi
Jika skema database tidak dapat diubah dan jika sudah ada kolom IDENTITY yang digunakan dengan seed awal default (dari Unknown column error2), kami sarankan Anda mengikuti pendekatan yang sama seperti yang dijelaskan sebelumnya. Namun, pertama-tama Anda dapat menambahkan seed IDENTITY secara manual sebagai berikut
ALTER TABLE tablename AUTO_INCREMENT = 100000;Ini harus "menyemai ulang" kolom IDENTITY ke kisaran yang diinginkan. Aplikasi AppSheet Anda akan memasukkan nilai dalam rentang yang ditentukan oleh fungsi Unknown column error5 di nilai awal definisi kolom AppSheet Anda
Bekerja dengan karakter khusus
Kumpulan karakter MySQL mendefinisikan karakter yang dapat dibaca dan diproses oleh database atau tabel MySQL tertentu. Set karakter default dari database MySQL harus bekerja dengan sebagian besar karakter Latin. Namun, banyak bahasa, seperti Spanyol atau China, memiliki karakter khusus yang tidak disertakan dalam kumpulan karakter default. Untuk bekerja dengan karakter khusus ini, Anda harus mengonfigurasi database atau tabel MySQL Anda untuk menggunakan rangkaian karakter yang sesuai
Misalnya, untuk mengonfigurasi seluruh database agar berfungsi dengan karakter khusus dalam bahasa Spanyol, seperti ñ, gunakan perintah berikut
ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish_ci;Alternatifnya, untuk mengonfigurasi hanya satu tabel, gunakan perintah berikut
Unknown column error6
Informasi lebih lanjut tentang set karakter yang tersedia di MySQL dapat ditemukan di dokumentasi pengembang MySQL