Use a biblioteca mysqlclient para conectar-se a um cluster do AnalyticDB for MySQL, executar instruções SQL e obter resultados.
Pré-requisitos
Antes de começar, verifique se você tem:
Python 3
-
A biblioteca
mysqlclientinstalada:mysqlclienté o nome do pacote para Python 3. No código, a importação é feita comoMySQLdb.pip install mysqlclient Um cluster do AnalyticDB for MySQL com um banco de dados e uma conta (privilegiada ou padrão) configurados.
Conectar-se ao cluster
O exemplo a seguir estabelece uma conexão, executa uma consulta para obter a versão do banco de dados e encerra a conexão.
import MySQLdb
# Open a connection to the cluster.
db = MySQLdb.connect(
host="<endpoint>", # Cluster endpoint or IP address
port=3306, # Port number
user="<account-name>", # Privileged or standard account
passwd="<password>", # Account password
db="<db-name>" # Target database name
)
cursor = db.cursor()
# Execute a SQL statement.
cursor.execute("SELECT VERSION()")
# Fetch the result.
data = cursor.fetchone()
print("Database version: %s" % data)
# Close the connection.
db.close()
Substitua os espaços reservados antes de executar o código:
|
Espaço reservado |
Descrição |
Exemplo |
|
|
Endpoint ou endereço IP do cluster |
|
|
|
Nome da conta usada para conexão |
|
|
|
Senha da conta |
— |
|
|
Nome do banco de dados de destino |
|
O AnalyticDB for MySQL oferece suporte a dois tipos de conta: privilegiada e padrão. Ambos permitem conexão pelo método mostrado acima.
Tratar erros de conexão
Envolva a conexão em um bloco try/except para capturar e diagnosticar falhas:
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()