Gunakan pustaka mysqlclient untuk menghubungkan ke kluster AnalyticDB for MySQL, menjalankan pernyataan SQL, dan mengambil hasilnya.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Python 3
Pustaka
mysqlclientyang telah diinstal:mysqlclientadalah nama paket Python 3. Pustaka ini diimpor sebagaiMySQLdbdalam kode.pip install mysqlclientKluster AnalyticDB for MySQL dengan database dan akun (akun istimewa atau akun standar)
Hubungkan ke kluster
Contoh berikut menetapkan koneksi, menjalankan kueri untuk mengambil versi database, lalu menutup koneksi.
import MySQLdb
# Buka koneksi ke kluster.
db = MySQLdb.connect(
host="<endpoint>", # Titik akhir atau alamat IP kluster
port=3306, # Nomor port
user="<account-name>", # Akun istimewa atau akun standar
passwd="<password>", # Password akun
db="<db-name>" # Nama database target
)
cursor = db.cursor()
# Eksekusi pernyataan SQL.
cursor.execute("SELECT VERSION()")
# Ambil hasilnya.
data = cursor.fetchone()
print("Database version: %s" % data)
# Tutup koneksi.
db.close()Ganti placeholder sebelum menjalankan kode:
| Placeholder | Deskripsi | Contoh |
|---|---|---|
<endpoint> | Titik akhir atau alamat IP kluster | am-bp***.ads.aliyuncs.com |
<account-name> | Nama akun yang digunakan untuk koneksi | myaccount |
<password> | Password akun | — |
<db-name> | Nama database target | mydb |
AnalyticDB for MySQL mendukung dua jenis akun: akun istimewa dan akun standar. Keduanya dapat terhubung menggunakan metode yang ditunjukkan di atas.
Tangani error koneksi
Bungkus koneksi dalam blok try/except untuk menangkap dan mendiagnosis kegagalan:
import MySQLdb
db = None
try:
db = MySQLdb.connect(
host="<endpoint>",
port=3306,
user="<account-name>",
passwd="<password>",
db="<db-name>"
)
cursor = db.cursor()
cursor.execute("SELECT VERSION()")
data = cursor.fetchone()
print("Database version: %s" % data)
except MySQLdb.Error as e:
print("Connection failed: %s" % str(e))
finally:
if db is not None:
db.close()