Go语言通过其标准库database/sql
提供了对SQL数据库的抽象层,而具体的数据库驱动则由第三方库提供。对于MySQL,常用的驱动有go-sql-driver/mysql
。
以下是一个简单的示例,展示如何使用Go语言连接MySQL数据库:
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
// 数据库连接字符串
dsn := "username:password@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
// 打开数据库连接
db, err := sql.Open("mysql", dsn)
if err != nil {
panic(err)
}
defer db.Close()
// 测试数据库连接
err = db.Ping()
if err != nil {
panic(err)
}
fmt.Println("Successfully connected to MySQL database!")
// 执行查询
rows, err := db.Query("SELECT id, name FROM users")
if err != nil {
panic(err)
}
defer rows.Close()
// 遍历查询结果
for rows.Next() {
var id int
var name string
err = rows.Scan(&id, &name)
if err != nil {
panic(err)
}
fmt.Printf("ID: %d, Name: %s\n", id, name)
}
// 检查遍历过程中是否有错误
if err = rows.Err(); err != nil {
panic(err)
}
}
原因:可能是数据库服务器配置的问题,或者网络问题。
解决方法:
原因:可能是数据库用户权限不足。
解决方法:
原因:使用的驱动版本与Go语言版本或MySQL版本不兼容。
解决方法:
通过以上信息,你应该能够成功连接Go语言和MySQL数据库,并解决常见的连接问题。
领取专属 10元无门槛券
手把手带您无忧上云