すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:アプリケーションを使用して ApsaraDB RDS for MySQL インスタンスに接続する

最終更新日:Feb 20, 2025

このトピックでは、Java、Python、または C アプリケーションを使用して ApsaraDB RDS for MySQL インスタンスに接続する方法について説明します。

パラメーター

次の表は、サンプルコードのパラメーターについて説明しています。

パラメーター

説明

ホスト

RDS インスタンスの内部エンドポイントまたはパブリックエンドポイント。

  • クライアントが、RDS インスタンスと同じリージョンにあり、同じネットワークタイプの Elastic Compute Service (ECS) インスタンスにデプロイされている場合は、内部エンドポイントを使用します。たとえば、ECS インスタンスと RDS インスタンスが両方とも中国 (杭州) リージョンにある VPC (仮想プライベートクラウド) にある場合は、RDS インスタンスの内部エンドポイントを使用して安全な接続を作成できます。

  • その他のシナリオでは、パブリックエンドポイントを使用します。

RDS インスタンスの内部エンドポイントとパブリックエンドポイント、およびポートを表示する方法の詳細については、「ApsaraDB RDS for MySQL インスタンスの内部エンドポイントとパブリックエンドポイント、およびポート番号を表示および変更する」をご参照ください。

ポート

内部ネットワーク経由で RDS インスタンスに接続する場合は、インスタンスの内部ポート番号を入力します。インターネット経由で RDS インスタンスに接続する場合は、インスタンスのパブリックポート番号を入力します。

myDatabase

データベースの名前。

myUsername

RDS インスタンスへの接続に使用するアカウントのユーザー名。

myPassword

アカウントのパスワード。

サンプルコード

説明

次のサンプルコードは、データベース内の courses テーブルをクエリするために使用されます。ビジネス要件に基づいて実際のコードを使用する必要があります。

Java のサンプルコード

説明

この例では、Maven プロジェクトが使用されています。 pom.xml ファイルに DriverManager 依存関係を追加する必要があります。

<dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
 <version>8.0.27</version>
</dependency>
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class DatabaseConnection
{
    public static void main(String args[]) {
        String connectionUrl= "jdbc:mysql://<Host>:<Port>/<myDatabase>";    

        ResultSet resultSet;

        try (Connection connection=DriverManager.getConnection(connectionUrl,"<myUsername>","<myPassword>");  
             Statement statement = connection.createStatement()) {

            String selectSql = "SELECT * FROM `courses`";            //実行する SQL 文を入力します。
            resultSet = statement.executeQuery(selectSql);

            while (resultSet.next()) {
                System.out.println(resultSet.getString("name"));
            }
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

Python 3 のサンプルコード

説明

最初に PyMySQL をインストールします。

  • Python 3 を使用する場合は、pip3 install PyMySQL コマンドを実行します。

  • Python 2 を使用する場合は、pip install pymysql==0.9.3 コマンドを実行します。

import pymysql

connection = pymysql.connect(host='<Host>',     
                       port=<Port>,
                       user='<myUsername>',
                       passwd='<myPassword>',
                       db='<myDatabase>')

try:
    with connection.cursor() as cursor:
        sql = "SELECT * FROM `courses`"
        cursor.execute(sql)
        for result in cursor:
             print(result)
finally:
    connection.close()

C のサンプルコード

説明

mysql.h ヘッダーファイルをインストールします。この例では、CentOS が使用されています。

sudo yum install mysql-devel
#include <stdio.h>
#include <mysql.h>
#include <string.h>

int main(void)
{
    MYSQL *t_mysql;

    MYSQL_RES       *res = NULL;
    MYSQL_ROW       row;
    char            *query_str = NULL;
    int             rc, i, fields;
    int             rows;

    char select[] = "select * from courses";    // 実行する SQL 文を入力します。
    t_mysql = mysql_init(NULL);

    if(NULL == t_mysql){
        printf("init failed\n");
    }

    if(NULL == mysql_real_connect(t_mysql, "<Host>", "<myUsername>", "<myPassword>", "<myDatabase>",
            <Port>, NULL, 0)){
        printf("connect failed\n");
    }

    if(mysql_real_query(t_mysql, select, strlen(select)) != 0){
        printf("select failed\n");
    }

    res = mysql_store_result(t_mysql);
    if (NULL == res) {
         printf("mysql_restore_result(): %s\n", mysql_error(t_mysql));
         return 0;
    }

    fields = mysql_num_fields(res);
    while ((row = mysql_fetch_row(res))) {
        for (i = 0; i < fields; i++) {
            printf("%s\t", row[i]);
        }
        printf("\n");
    }
    mysql_close(t_mysql);

}
                    

トラブルシューティング

接続に失敗した場合は、返されたエラー情報に基づいてトラブルシューティングを行うことをお勧めします。詳細については、「RDS インスタンスに接続できない問題を解決する」をご参照ください。

関連情報