温馨提示×

golang在ubuntu上的数据库连接怎么做

小樊
36
2025-11-22 22:46:34
栏目: 编程语言

在Ubuntu上使用Go语言(Golang)连接数据库,通常需要以下几个步骤:

  1. 安装数据库:首先,你需要在Ubuntu上安装你想要连接的数据库。例如,如果你想连接MySQL数据库,你可以使用以下命令安装MySQL服务器:
sudo apt update
sudo apt install mysql-server

对于PostgreSQL,可以使用:

sudo apt update
sudo apt install postgresql postgresql-contrib
  1. 安装Go数据库驱动:接下来,你需要安装对应数据库的Go语言驱动。以MySQL为例,你可以使用go get命令来安装go-sql-driver/mysql
go get -u github.com/go-sql-driver/mysql

对于PostgreSQL,可以安装lib/pq

go get -u github.com/lib/pq
  1. 编写Go代码:创建一个Go文件,比如main.go,并编写代码来连接数据库。以下是连接MySQL和PostgreSQL的示例代码:

MySQL 示例:

package main

import (
	"database/sql"
	"fmt"
	"log"

	_ "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 {
		log.Fatal(err)
	}
	defer db.Close()

	// 测试数据库连接
	err = db.Ping()
	if err != nil {
		log.Fatal(err)
	}

	fmt.Println("成功连接到数据库!")
}

PostgreSQL 示例:

package main

import (
	"database/sql"
	"fmt"
	"log"

	_ "github.com/lib/pq"
)

func main() {
	// 数据库连接字符串
	connStr := "user=username dbname=dbname password=password sslmode=disable"
	// 打开数据库连接
	db, err := sql.Open("postgres", connStr)
	if err != nil {
		log.Fatal(err)
	}
	defer db.Close()

	// 测试数据库连接
	err = db.Ping()
	if err != nil {
		log.Fatal(err)
	}

	fmt.Println("成功连接到数据库!")
}

请将上述代码中的usernamepasswordlocalhost:3306(MySQL)或user=username dbname=dbname password=password sslmode=disable(PostgreSQL)替换为你的实际数据库用户名、密码和连接信息。

  1. 运行Go程序:在终端中,导航到包含main.go文件的目录,并运行以下命令来执行程序:
go run main.go

如果一切设置正确,你应该会看到输出“成功连接到数据库!”,这表明你的Go程序已经成功连接到了数据库。

请注意,这些步骤假设你已经有了一个正在运行的数据库实例,并且你的防火墙和安全组设置允许从你的Go应用程序进行连接。如果你遇到连接问题,请检查数据库服务是否正在运行,以及你的连接字符串是否正确。

0