在Ubuntu上配置Golang以连接到数据库,通常需要以下几个步骤:
sudo apt update
sudo apt install mysql-server
对于PostgreSQL,可以使用:
sudo apt update
sudo apt install postgresql postgresql-contrib
go-sql-driver/mysql:go get -u github.com/go-sql-driver/mysql
对于PostgreSQL,可以使用lib/pq:
go get -u github.com/lib/pq
对于MySQL:
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
// 数据库连接字符串
dsn := "username:password@tcp(localhost:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
// 打开数据库连接
db, err := sql.Open("mysql", dsn)
if err != nil {
panic(err.Error())
}
defer db.Close()
// 测试数据库连接
err = db.Ping()
if err != nil {
panic(err.Error())
}
fmt.Println("成功连接到数据库!")
}
对于PostgreSQL:
package main
import (
"database/sql"
"fmt"
_ "github.com/lib/pq"
)
func main() {
// 数据库连接字符串
connStr := "user=username dbname=dbname password=password sslmode=disable"
// 打开数据库连接
db, err := sql.Open("postgres", connStr)
if err != nil {
panic(err.Error())
}
defer db.Close()
// 测试数据库连接
err = db.Ping()
if err != nil {
panic(err.Error())
}
fmt.Println("成功连接到数据库!")
}
请确保将username、password、localhost、3306(MySQL的默认端口)或5432(PostgreSQL的默认端口)、以及dbname替换为你的实际数据库凭据和信息。
go run main.go
如果一切配置正确,你应该会看到消息“成功连接到数据库!”。
请注意,这些步骤假设你已经有了一个正在运行的数据库实例,并且你的防火墙设置允许从你的Go应用程序到数据库服务器的连接。如果你遇到任何连接问题,请检查数据库服务是否正在运行,以及网络配置是否正确。