您可以使用阿里云云数据库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)
}

更多信息