本文介紹基於PHP串連和使用Lindorm寬表引擎的方法。
前提條件
已開通MySQL協議相容功能。如何開通,請參見開通MySQL協議相容功能。
已將用戶端IP添加至白名單,具體操作請參見設定白名單。
操作步驟
安裝php-mysql模組。安裝方式,請參見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;
參數說明
參數
說明
$lindorm_addr
Lindorm寬表引擎的MySQL相容地址。如何擷取,請參見查看串連地址。
重要如果應用部署在ECS執行個體,建議您通過專用網路訪問Lindorm執行個體,可獲得更高的安全性和更低的網路延遲。
如果應用部署在本地,在通過公網串連Lindorm執行個體前,需在控制台開通公網地址。開通方式:在控制台選擇
,在寬表引擎頁簽單擊開通公網地址。通過專用網路訪問Lindorm執行個體,$lindorm_addr請填寫MySQL相容地址對應的專用網路地址。通過公網訪問Lindorm執行個體,$lindorm_addr請填寫MySQL相容地址對應的公網地址。
$lindorm_username
如果您忘記使用者密碼,可以通過Lindorm寬表引擎的叢集管理系統修改密碼。具體操作,請參見修改使用者密碼。
$lindorm_password
$lindorm_database
需要串連的資料庫名稱。預設串連default資料庫。
$lindorm_port
Lindorm寬表引擎MySQL協議的連接埠,固定為33060。
建立串連,通過寬表SQL文法使用Lindorm寬表引擎。以建表為例。
//串連liandorm寬表引擎 $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_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; }
完整樣本
<?php
//Lindorm寬表引擎的MySQL相容地址
$lindorm_addr="ld-uf6k8yqb741t3****-proxy-sql-lindorm-public.lindorm.rds.aliyuncs.com";
//Lindorm寬表引擎的使用者名稱
$lindorm_username="user";
//Lindorm寬表引擎的密碼
$lindorm_password="test";
//需要串連的資料庫名稱
$lindorm_database="default";
//Lindorm寬表引擎MySQL協議的連接埠
$lindorm_port=33060;
//串連Lindorm寬表引擎
$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_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_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;
}
//查詢資料
$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"]);
}
?>
執行成功後將返回如下結果:
connect to Lindorm successfully
create table successfully
insert data successfully
id 1
name zhangsan
age 17