Conecte uma aplicação PHP ao LindormTable usando a extensão MySQLi e o Lindorm SQL pelo endpoint compatível com MySQL.
Pré-requisitos
Antes de começar, verifique se você tem:
PHP 8.0 ou posterior instalado
O recurso de compatibilidade com MySQL ativado na sua instância Lindorm. Consulte Ative o recurso de compatibilidade com MySQL
O endereço IP do seu cliente adicionado à lista de permissões da sua instância Lindorm. Consulte Configure uma whitelist
Instale o módulo php-mysql
Instale o módulo php-mysql antes de conectar-se ao LindormTable. Para obter instruções de instalação, consulte PHP installation.
Configure os parâmetros de conexão
Obtenha o endpoint compatível com MySQL para sua instância Lindorm. Consulte Visualize endereços de conexão.
Defina os seguintes parâmetros de conexão no seu código PHP:
$lindorm_addr="ld-uf6k8yqb741t3****-proxy-sql-lindorm-public.lindorm.rds.aliyuncs.com";
$lindorm_username="user";
$lindorm_password="test";
$lindorm_database="default";
$lindorm_port=33060;
Parâmetros de conexão
|
Parâmetro |
Descrição |
|
|
Endpoint compatível com MySQL para o LindormTable. Consulte Visualize endereços de conexão para localizar o endpoint. Use o endereço VPC quando sua aplicação for executada em uma instância ECS e o endereço Internet para conexões pela rede pública. |
|
|
Nome de usuário para acesso ao LindormTable. Para redefinir uma senha esquecida, consulte Change a user password. |
|
|
Senha do usuário do LindormTable. |
|
|
Banco de dados de destino da conexão. O banco de dados padrão é |
|
|
Porta do protocolo MySQL. Valor fixo: |
Escolha o tipo de endpoint adequado à sua rede:
ECS (VPC): Conecte-se por uma virtual private cloud (VPC) para garantir maior segurança e menor latência. Defina
$lindorm_addrcomo o endereço VPC compatível com MySQL.Local ou remoto (rede pública): Ative primeiro o endpoint público. No console Lindorm, acesse Database Connections > Wide Table Engine e clique em Enable Public Endpoint. Em seguida, defina
$lindorm_addrcomo o endereço Internet compatível com MySQL.
Exemplo completo
O exemplo a seguir conecta-se ao LindormTable, cria uma tabela, insere uma linha com upsert into e consulta os dados.
<?php
// The MySQL-compatible endpoint for LindormTable.
$lindorm_addr="ld-uf6k8yqb741t3****-proxy-sql-lindorm-public.lindorm.rds.aliyuncs.com";
// The username for the LindormTable connection.
$lindorm_username="user";
// The password for the LindormTable connection.
$lindorm_password="test";
// The name of the database to connect to.
$lindorm_database="default";
// The port for the MySQL protocol of LindormTable.
$lindorm_port=33060;
// Connect to LindormTable.
$lindorm_conn = mysqli_connect(
$lindorm_addr,
$lindorm_username,
$lindorm_password,
$lindorm_database,
$lindorm_port
);
if (!$lindorm_conn) {
printf("Can't connect to Lindorm Server. Errorcode: %s \n", mysqli_error($lindorm_conn));
exit;
} else {
printf("connect to Lindorm successfully\n");
}
// Create a table.
$create_table = "create table if not exists user_test(id int, name varchar, age int, primary key(id))";
if (mysqli_query($lindorm_conn, $create_table)) {
printf("create table successfully\n");
} else {
printf("create table error: %s \n", mysqli_error($lindorm_conn));
exit;
}
// Insert data. LindormTable uses "upsert into" instead of standard INSERT INTO.
$insert_sql = "upsert into user_test(id, name, age) values(1, 'zhangsan', 17)";
if (mysqli_query($lindorm_conn, $insert_sql)) {
printf("insert data successfully\n");
} else {
printf("insert data error: %s \n", mysqli_error($lindorm_conn));
exit;
}
// Query data.
$select_sql = "select * from user_test";
$result = mysqli_query($lindorm_conn, $select_sql);
while ($row = mysqli_fetch_array($result)) {
printf("id %d\n", $row["id"]);
printf("name %s\n", $row["name"]);
printf("age %d\n", $row["age"]);
}
?>
Saída esperada:
connect to Lindorm successfully
create table successfully
insert data successfully
id 1
name zhangsan
age 17
Como o exemplo funciona
Cada bloco do exemplo executa uma operação distinta:
Conexão: A função
mysqli_connect()abre uma conexão usando o endpoint compatível com MySQL e a porta fixa33060.Criação de tabela: O comando
CREATE TABLE IF NOT EXISTScria a tabelauser_testcomidcomo chave primária. Essa instrução é idempotente; executá-la várias vezes não gera erros.Inserção de dados: O LindormTable usa
upsert intoem vez do padrãoINSERT INTO. Se já existir uma linha com a mesma chave primária, o upsert a atualiza.Consulta de dados: A função
mysqli_query()retorna um conjunto de resultados. A funçãomysqli_fetch_array()itera sobre as linhas e permite acessar os valores das colunas pelo nome.
Próximos passos
Para saber mais sobre a sintaxe do Lindorm SQL, consulte a Lindorm SQL reference.
Para gerenciar usuários e permissões, consulte Gerencie usuários.