向Go应用的部署环境中添加RDS实例
您可以使用阿里云云数据库RDS的数据库实例来存储应用中需持久保存的数据。本文将介绍如何为Go应用添加数据库并验证应用与数据库是否连接。
环境变量
Web+会将数据库连接的相关信息存放在环境变量中,以便应用进行读取,相关环境变量请参考下表。
变量名 | 变量值 | 变量说明 |
---|---|---|
WP_RDS_ENGINE | MySQL | RDS数据库引擎 |
WP_RDS_CONNECTION_ADDRESS | rm-***.mysql.rds.aliyuncs.com | RDS内网连接地址 |
WP_RDS_PORT | 3306 | RDS端口号 |
WP_RDS_ACCOUNT_NAME | webplus | RDS数据库账号名称 |
WP_RDS_ACCOUNT_PASSWORD | ***** | RDS账号密码 |
WP_RDS_DATABASE | webplus | RDS数据库 |
安装数据库驱动
执行以下命令,安装MySQL数据库驱动:
go get github.com/go-sql-driver/mysql
添加数据库
添加数据库的操作请参照以下样例代码进行配置。
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
"os"
)
func main() {
user := os.Getenv("WP_RDS_ACCOUNT_NAME")
passwd := os.Getenv("WP_RDS_ACCOUNT_PASSWORD")
host := os.Getenv("WP_RDS_CONNECTION_ADDRESS")
port := os.Getenv("WP_RDS_PORT")
connStr := fmt.Sprintf("%s:%s@tcp(%s:%s)/?timeout=30s", user, passwd, host, port)
db, _ := sql.Open("mysql", connStr)
defer db.Close()
sqlTxt := "select 'OK' as result"
rows, _ := db.Query(sqlTxt)
var result string
for rows.Next(){
_ = rows.Scan(&result)
}
// output "OK"
fmt.Println(result)
}
更多信息
- 关于如何使用Web+来管理RDS,可参考云数据库RDS。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论