本文介绍如何通过Java、Python或C的应用程序访问RDS MySQL数据库。
参数说明
示例代码中的参数说明如下。
参数 | 说明 |
参数 | 说明 |
Host | RDS实例的内网地址或外网地址。
关于如何查看RDS实例的内外网地址及端口信息,请参见查看和管理实例连接地址和端口。 |
Port | 若使用内网连接,需输入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();
}
}
}
Python3示例代码
请先安装PyMySQL。
Python3安装命令:
pip3 install PyMySQL
Python2安装命令:
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 MySQL 版,在函数中配置专有网络VPC相关信息并在数据库中配置白名单,实现VPC内数据库的访问和操作。具体操作,请参见访问RDS MySQL示例。
更多访问RDS MySQL数据库的示例,请参见函数计算Python访问MySQL数据库。
该文章对您有帮助吗?
- 本页导读 (1)
- 参数说明
- 示例代码
- Java示例代码
- Python3示例代码
- C示例代码
- 连接失败
- 更多连接方案