Topik ini menjelaskan cara terhubung ke instance ApsaraDB RDS for MySQL menggunakan aplikasi Java, Python, atau C.
Parameter
Tabel berikut menjelaskan parameter dalam kode contoh.
Parameter | Deskripsi |
Host | Titik akhir internal atau publik dari instance RDS.
Untuk informasi lebih lanjut tentang cara melihat titik akhir internal dan publik serta port dari instance RDS, lihat Lihat dan ubah titik akhir internal dan publik serta nomor port dari instance ApsaraDB RDS for MySQL. |
Port | Jika Anda terhubung ke instance RDS melalui jaringan internal, masukkan nomor port internal dari instance tersebut. Jika Anda terhubung ke instance RDS melalui Internet, masukkan nomor port publik dari instance tersebut. |
myDatabase | Nama database. |
myUsername | Nama pengguna akun yang digunakan untuk terhubung ke instance RDS. |
myPassword | Kata sandi akun. |
Kode contoh
Kode contoh berikut digunakan untuk menanyai tabel courses dalam database. Anda harus menyesuaikan kode sesuai dengan kebutuhan bisnis Anda.
Kode contoh dalam Java
Dalam contoh ini, proyek Maven digunakan. Tambahkan dependensi DriverManager dalam file pom.xml.
<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`"; //Masukkan Pernyataan SQL yang ingin Anda eksekusi.
resultSet = statement.executeQuery(selectSql);
while (resultSet.next()) {
System.out.println(resultSet.getString("name"));
}
}
catch (SQLException e) {
e.printStackTrace();
}
}
}Kode contoh dalam Python 3
Instal PyMySQL terlebih dahulu.
Jika menggunakan Python 3, jalankan perintah
pip3 install PyMySQL.Jika menggunakan Python 2, jalankan perintah
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()Kode contoh dalam C
Instal file header mysql.h. Dalam contoh ini, CentOS digunakan.
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"; // Masukkan Pernyataan SQL yang ingin Anda eksekusi.
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);
}
Pemecahan Masalah
Jika koneksi gagal, kami sarankan melakukan pemecahan masalah berdasarkan informasi kesalahan yang diterima. Untuk informasi lebih lanjut, lihat Selesaikan masalah bahwa Anda tidak dapat terhubung ke instance RDS.
Referensi
Anda juga dapat menggunakan Function Compute untuk terhubung ke instance ApsaraDB RDS for MySQL dengan mengonfigurasi VPC untuk fungsi dan daftar putih untuk instance RDS for MySQL. Untuk informasi lebih lanjut, lihat Praktik Terbaik untuk Mengakses RDS MySQL.
Untuk lebih banyak contoh tentang cara terhubung ke instance RDS for MySQL, kunjungi Python akses ke mysql dalam Function Compute.