全部产品
Search
文档中心

Lindorm:Menggunakan mysql-connector-python untuk mengembangkan aplikasi

更新时间:Jul 06, 2025

mysql-connector-python adalah konektor Python yang disediakan oleh MySQL. Konektor ini tidak bergantung pada pustaka fungsi standar bahasa C dan lebih mudah digunakan. Topik ini menjelaskan cara menggunakan mysql-connector-python untuk terhubung ke LindormTable saat Anda mengembangkan aplikasi dengan Python.

Prasyarat

  • Python 3.8 atau versi yang lebih baru telah diinstal.

  • Fitur kompatibilitas MySQL telah diaktifkan untuk instance tersebut. Untuk informasi lebih lanjut, lihat Aktifkan fitur kompatibilitas MySQL.

  • Alamat IP klien Anda telah ditambahkan ke daftar putih instance Lindorm Anda. Untuk informasi lebih lanjut, lihat Konfigurasikan daftar putih.

Prosedur

  1. Instal mysql-connector-python versi 8.0.11. Anda juga dapat menjalankan perintah pip install mysql-connector-python==8.0.11 untuk menginstal mysql-connector-python.

  2. Buat koneksi dan konfigurasikan parameter.

    connection = mysql.connector.connect(host='<Titik akhir LindormTable untuk MySQL.>', port=33060, user='<Nama pengguna>', passwd='<Kata sandi>', database='<Nama basis data>')
    cursor = connection.cursor(prepared=True)
    

    Parameter

    Parameter

    Deskripsi

    host

    LindormTable endpoint for MySQL dengan tanda titik dua dan nomor port (:33060) dihapus. Untuk informasi lebih lanjut tentang cara memperoleh titik akhir, lihat Lihat titik akhir.

    Penting

    Jika aplikasi Anda diterapkan pada instance Elastic Compute Service (ECS) dan instance ECS berada dalam VPC yang sama dengan instance Lindorm, kami sarankan Anda terhubung ke instance Lindorm melalui VPC. Jika tidak, hubungkan ke instance Lindorm melalui Internet. Untuk terhubung ke instance Lindorm melalui Internet, Anda harus mengaktifkan titik akhir publik dari instance tersebut. Untuk informasi lebih lanjut, lihat Aktifkan LindormSearch.

    port

    Port yang digunakan untuk terhubung ke LindormTable menggunakan MySQL. Nilai parameter ini tetap 33060.

    user

    Jika Anda lupa kata sandi Anda, Anda dapat mengubah kata sandi di sistem manajemen kluster LindormTable. Untuk informasi lebih lanjut, lihat Kelola pengguna.

    passwd

    database

    Nama basis data yang ingin Anda sambungkan. Secara default, klien Anda terhubung ke basis data bernama default.

  3. Gunakan SQL LindormTable untuk melakukan operasi di LindormTable. Blok kode berikut memberikan contoh tentang cara menggunakan SQL LindormTable untuk membuat tabel:

    sql_create_table = ("create table if not exists test_python(c1 integer, c2 integer, c3 varchar, primary key(c1))")
    print(sql_create_table)
    cursor.execute(sql_create_table)
    

Kode sampel lengkap

Kode berikut memberikan contoh lengkap tentang cara menggunakan Java Low Level REST Client untuk terhubung ke LindormSearch dan melakukan operasi di LindormSearch:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import json

import mysql.connector

# Buat koneksi ke basis data.
# Atur parameter host ke titik akhir LindormTable untuk MySQL.
# Atur parameter port ke port yang digunakan untuk terhubung ke LindormTable menggunakan MySQL, yaitu 33060 secara default.
# Atur parameter user ke nama pengguna yang digunakan untuk terhubung ke LindormTable.
# Atur passwd ke kata sandi yang digunakan untuk terhubung ke LindormTable.
# Atur parameter database ke nama basis data di LindormTable.


connection = mysql.connector.connect(host='ld-bp1hn6yq0yb34****-proxy-sql-lindorm-public.lindorm.rds.aliyuncs.com', port=33060,user='root', passwd='test',database='default')

# Buat kursor dan tentukan kondisi prepared=True.
cursor = connection.cursor(prepared=True)

# Buat tabel.
sql_create_table = ("create table if not exists test_python(c1 integer, c2 integer, c3 varchar, primary key(c1))")
print(sql_create_table)
cursor.execute(sql_create_table)

# Masukkan data ke tabel.
sql_upsert = "upsert into test_python(c1, c2, c3) values(?, ?, ?)"
print(sql_upsert)

# Masukkan baris tunggal ke tabel.
cursor.execute(sql_upsert, (1, 1, '1'))
cursor.execute(sql_upsert, (2, 2, json.dumps({"key": "value2"})))

# Masukkan beberapa baris ke tabel sekaligus.
data = [
    (3, 3, '3'),
    (4, 4, json.dumps({"key": "value4"})),
]
cursor.executemany(sql_upsert, data)

# Hapus data dari tabel.
sql_delete = "delete from test_python where c1 = ?"
print(sql_delete)
cursor.execute(sql_delete, (3,))

# Ubah data di tabel.
sql_update = "upsert into test_python(c1, c2, c3) values(?, ?, ?)"
print(sql_update)
cursor.execute(sql_update, (1, 2, '2'))

# Query data yang ditentukan di tabel.
sql_select = "select * from test_python where c1 = ?"
print(sql_select)
cursor.execute(sql_select, (4,))
rows = cursor.fetchall()
print(rows)

# Query semua data di tabel.
sql_select_all = "select * from test_python"
print(sql_select_all)
cursor.execute(sql_select_all)
rows = cursor.fetchall()
print(rows)

# Tutup kursor.
cursor.close()

# Tutup koneksi ke basis data.
connection.close()
Penting

Jika string yang ingin Anda tulis ke tabel berisi karakter khusus seperti tanda kutip ganda ("), kami sarankan Anda menentukan kondisi prepared=True (seperti yang ditunjukkan dalam kode sampel sebelumnya) untuk mencegah karakter escape ditambahkan ke data yang ditulis ke Lindorm.