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

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

最終更新日:Jan 18, 2024

このトピックでは、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

アカウントのパスワードを入力します。

サンプルコード

説明

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

  • Javaのサンプルコード:

    説明

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

    <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <version>8.0.27</version>
    </dependency> 
    java.sql.Connectionをインポートします。java.sql.DriverManagerをインポートします。java.sql.ResultSetをインポートします。java.sql.Statementをインポートします。パブリッククラス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.exe cuteQuery(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コマンドを実行します。

    pymysqlのインポート
    
    connection = pymysql.connect(host='<Host>' 、     
                           port=<ポート> 、
                           user='<myUsername>' 、
                           passwd='<myPassword>' 、
                           db='<myDatabase>')
    
    トライ:
        connection.cursor()をカーソルとして使用:
            sql = "SELECT * FROM 'courses'"
            cursor.execute(sql)
            カーソルの結果のために:
                 プリント (結果)
    ついに:
        connection.close() 
  • Cサンプルコード:

    説明

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

    sudo yumインストールmysql-devel
    #include <stdio.h>
    # include <mysql.h>
    # include <string.h>
    
    int main(void)
    {
        MYSQL * t_mysql;
    
        MYSQL_RES * res = NULL;
        MYSQL_ROW行;
        char * query_str = NULL;
        int rc, i, フィールド;
        int行;
    
        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>" 、
                <ポート>, 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インスタンスに接続できない問題の解決」をご参照ください。