centos

CentOS中Golang的数据库连接方法

小樊
43
2025-09-26 08:20:36
栏目: 编程语言

在CentOS系统中,使用Golang连接数据库的方法与在其他Linux发行版中使用的方法相同。以下是使用Golang连接MySQL和PostgreSQL数据库的示例。

  1. 安装Golang

首先,确保你已经在CentOS上安装了Golang。如果尚未安装,请按照以下步骤操作:

wget https://golang.org/dl/go1.16.5.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.16.5.linux-amd64.tar.gz
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bashrc
source ~/.bashrc
  1. 安装数据库驱动

对于MySQL,我们将使用go-sql-driver/mysql驱动。对于PostgreSQL,我们将使用pq驱动。要安装这些驱动,请运行以下命令:

go get -u github.com/go-sql-driver/mysql
go get -u github.com/lib/pq
  1. 编写Golang代码以连接到数据库

创建一个名为main.go的文件,并添加以下代码以连接到MySQL和PostgreSQL数据库。

对于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)
	}
	defer db.Close()

	err = db.Ping()
	if err != nil {
		panic(err)
	}

	fmt.Println("Connected to MySQL!")
}

对于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)
	}
	defer db.Close()

	err = db.Ping()
	if err != nil {
		panic(err)
	}

	fmt.Println("Connected to PostgreSQL!")
}

请确保将usernamepasswordlocalhost3306(MySQL)或5432(PostgreSQL)、dbname替换为你的实际数据库凭据和设置。

  1. 运行Golang程序

在终端中,导航到包含main.go文件的目录,并运行以下命令:

go run main.go

如果一切正常,你应该看到类似于以下的输出:

Connected to MySQL!

Connected to PostgreSQL!

这表明你已经成功地在CentOS上使用Golang连接到了数据库。

0
看了该问题的人还看了