このトピックでは、PHP を使用して LindormTable に接続し、利用する方法について説明します。
前提条件
PHP 8.0 以降がインストールされていること。
インスタンスの MySQL 互換機能が有効になっていること。 詳細については、「MySQL 互換機能の有効化」をご参照ください。
クライアントの IP アドレスが Lindorm インスタンスのホワイトリストに追加されていること。 詳細については、「ホワイトリストの設定」をご参照ください。
操作手順
php-mysql モジュールをインストールします。 詳細については、「PHP installation」をご参照ください。
接続パラメーターを設定します。
$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
LindormTable の MySQL 互換エンドポイント。 エンドポイントを取得する方法については、「接続アドレスの表示」をご参照ください。
重要アプリケーションが ECS インスタンスにデプロイされている場合は、セキュリティを向上させ、ネットワーク遅延を低減するために、VPC (Virtual Private Cloud) 経由で Lindorm インスタンスに接続します。
アプリケーションがローカルにデプロイされており、パブリックネットワーク経由で Lindorm インスタンスに接続する場合は、まずコンソールでパブリックエンドポイントを有効化する必要があります。左側のナビゲーションウィンドウで、 を選択します。 Wide Table Engine タブで、Enable Public Endpoint をクリックします。
VPC を使用して Lindorm インスタンスにアクセスする場合は、`$lindorm_addr` を MySQL 互換の VPC アドレスに設定します。 パブリックネットワークを使用して Lindorm インスタンスにアクセスする場合は、`$lindorm_addr` を MySQL 互換の Internet アドレスに設定します。
$lindorm_username
ユーザーパスワードを忘れた場合は、LindormTable のクラスター管理システムで変更できます。 詳細については、「ユーザーパスワードの変更」をご参照ください。
$lindorm_password
$lindorm_database
接続するデータベースの名前。 デフォルトのデータベースは `default` です。
$lindorm_port
LindormTable の MySQL プロトコルのポート。 ポート番号は 33060 に固定されています。
接続を作成し、Lindorm SQL を使用して LindormTable と対話します。 次の例では、テーブルを作成する方法を示します。
// 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_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
// LindormTable の MySQL 互換エンドポイント。
$lindorm_addr="ld-uf6k8yqb741t3****-proxy-sql-lindorm-public.lindorm.rds.aliyuncs.com";
// LindormTable 接続用のユーザー名。
$lindorm_username="user";
// LindormTable 接続用のパスワード。
$lindorm_password="test";
// 接続先のデータベース名。
$lindorm_database="default";
// LindormTable の MySQL プロトコルのポート。
$lindorm_port=33060;
// 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_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"]);
}
?>次の結果が返されます。
Lindorm への接続に成功
テーブルの作成に成功
データの挿入に成功
id 1
name zhangsan
age 17