本文介绍基于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