LindormTable mendukung akses melalui protokol MySQL. Anda dapat menggunakan klien berbasis MySQL untuk terhubung dan memanfaatkan LindormTable. Topik ini menjelaskan cara menggunakan MySQL dalam pengembangan aplikasi serta catatan penting terkait penggunaannya.
Catatan penggunaan
LindormTable versi 2.6.0 dan yang lebih baru mendukung MySQL. Untuk informasi lebih lanjut tentang cara memeriksa atau meningkatkan versi LindormTable, lihat Catatan Rilis LindormTable dan Tingkatkan Versi Mesin Minor dari Instance Lindorm.
Sintaks SQL yang didukung oleh LindormTable tidak sepenuhnya kompatibel dengan sintaks MySQL. Untuk detail lebih lanjut mengenai sintaks SQL yang didukung oleh LindormTable, lihat Sintaks SQL Lindorm.
Aktifkan fitur kompatibilitas MySQL
Untuk panduan mengaktifkan fitur kompatibilitas MySQL, lihat Gunakan Klien MySQL untuk Terhubung dan Memanfaatkan LindormTable.
Tindakan pencegahan
Secara default, enkripsi SSL diaktifkan untuk transmisi data demi keamanan saat menggunakan MySQL untuk terhubung ke LindormTable. Jika aplikasi dan instance Lindorm berada dalam VPC yang sama, Anda dapat mengaktifkan komunikasi teks biasa pada klien MySQL untuk meningkatkan performa. Sebagai contoh, jika menggunakan MySQL JDBC V8.x untuk terhubung ke LindormTable, tambahkan parameter
sslMode=disableddalam URL koneksi untuk mengaktifkan komunikasi teks biasa.Beberapa versi lama klien MySQL menggunakan protokol TLS yang lebih lama (seperti V1.0 atau V1.1). Dalam kasus ini, koneksi mungkin gagal dan menyebabkan pengecualian terkait versi protokol tersebut. Untuk menangani masalah ini, gunakan salah satu metode berikut:
Buat koneksi dengan transmisi data teks biasa.
Jika Anda dapat mengonfigurasi versi TLS untuk klien, atur versi TLS ke 1.2. Sebagai contoh, jika menggunakan MySQL JDBC V5.1.44, konfigurasikan parameter enabledTLSProtocols untuk menentukan versi TLS.
Tingkatkan klien Anda. Kami merekomendasikan penggunaan klien yang mendukung MySQL 8.0 atau versi lebih baru.
Protokol autentikasi yang dapat digunakan pengguna selama koneksi bergantung pada versi LindormTable saat pengguna dibuat. Pilih protokol autentikasi sesuai kebutuhan Anda.
Jika versi LindormTable lebih awal dari 2.6.2 saat pengguna dibuat, hanya protokol
caching_sha2_passwordyang dapat digunakan untuk autentikasi.Jika versi LindormTable adalah 2.6.2 atau lebih baru saat pengguna dibuat, protokol
caching_sha2_passworddanmysql_native_passworddapat digunakan untuk autentikasi. Kami merekomendasikan penggunaan protokolcaching_sha2_password.
Sebagai contoh, jika Anda membuat pengguna bernama user pada instance LindormTable versi 2.5.4, kemudian membuat pengguna bernama test setelah memperbarui versi LindormTable ke 2.6.2, pengguna bernama user hanya mendukung protokol
caching_sha2_password, sedangkan pengguna bernama test mendukung protokolmysql_native_passworddancaching_sha2_password.
Kompatibilitas dengan protokol MySQL
Protokol MySQL mencakup beberapa sub-protokol. Tabel berikut menjelaskan kompatibilitas Lindorm dengan sub-protokol tersebut.
Fase | Sub-protokol | Perintah Protokol | Didukung oleh Lindorm | Deskripsi |
Fase Koneksi | Handshake | Ya | Protokol handshake yang digunakan sebelum koneksi dibuat. Hanya HandshakeV10 yang didukung. | |
Dukungan TLS | Ya | Protokol TLS yang digunakan untuk enkripsi komunikasi. Hanya TLS 1.2 yang didukung. Catatan Secara default, protokol SSL digunakan untuk mengenkripsi data yang ditransmisikan saat Anda terhubung ke Lindorm. | ||
Metode Autentikasi | old_password | Tidak | Versi lama protokol yang digunakan untuk mentransmisikan kata sandi. Protokol ini digunakan oleh klien MySQL versi lama (4.x atau lebih lama) untuk mentransmisikan permintaan autentikasi pengguna. | |
mysql_clear_password | Ya | Protokol yang digunakan untuk mentransmisikan kata sandi teks biasa. Penting Protokol ini umumnya digunakan bersama dengan SSL. | ||
mysql_native_password | Ya | Protokol default yang digunakan oleh klien MySQL versi 5.x untuk mentransmisikan kata sandi. | ||
caching_sha2_password | Ya | Protokol default yang digunakan oleh klien MySQL versi 8.x untuk mentransmisikan kata sandi. Protokol ini ditingkatkan dalam hal keamanan dan efisiensi dibandingkan dengan mysql_native_password. Kami merekomendasikan agar Anda menggunakan protokol ini. | ||
Fase Perintah | Protokol Teks | COM_QUERY | Ya | Perintah yang digunakan untuk mengirim dan mengeksekusi pernyataan SQL. |
Perintah Utilitas | COM_QUIT | Ya | Perintah yang digunakan untuk memutuskan koneksi dari LindormTable. | |
COM_INIT_DB | Ya | Perintah yang digunakan untuk memodifikasi database default yang akan dihubungkan. | ||
COM_PING | Ya | Perintah yang digunakan untuk memeriksa konektivitas antara klien dan server. | ||
COM_DEBUG | Tidak | Perintah yang digunakan untuk menampilkan informasi debug tentang pernyataan SQL di sisi server saat pernyataan dieksekusi. | ||
COM_CHANGE_USER | Tidak | Perintah yang digunakan untuk mengganti pengguna dari koneksi saat ini. | ||
COM_RESET_CONNECTION | Tidak | Perintah yang digunakan untuk mereset status sesi dari koneksi saat ini saat Anda terhubung ke Lindorm. | ||
COM_SET_OPTION | Tidak | Perintah yang digunakan untuk mengonfigurasi opsi koneksi untuk menentukan perilaku dan pengaturan klien saat Anda terhubung ke Lindorm. | ||
Pernyataan Siap | COM_STMT_PREPARE | Ya | Perintah yang digunakan untuk memproses query pernyataan di mana parameter dikonfigurasi. | |
COM_STMT_EXECUTE | Ya | Perintah yang digunakan untuk menentukan parameter dalam pernyataan SQL dan mengeksekusi pernyataan tersebut. | ||
COM_STMT_FETCH | Tidak | Perintah yang digunakan untuk menentukan klausa FETCH dalam pernyataan SQL tertanam. | ||
COM_STMT_CLOSE | Ya | Perintah yang digunakan untuk menutup pernyataan pra-pemrosesan. | ||
COM_STMT_SEND_LONG_DATA | Tidak | Perintah yang digunakan untuk mengirim objek besar. Perintah ini dijalankan sebelum COM_STMT_EXECUTE. | ||
Protokol Replikasi | Tidak | Protokol yang digunakan untuk mereplikasi log biner untuk MySQL. | ||