このトピックでは、Java、Python、またはCアプリケーションを使用してApsaraDB RDS for MySQLインスタンスに接続する方法について説明します。
パラメーター
サンプルコードのパラメーターを次の表に示します。
パラメーター | 説明 |
ホスト | 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インスタンスに接続できない問題の解決」をご参照ください。