商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > CentOS中Golang的数据库连接方法

CentOS中Golang的数据库连接方法

  发布于2026-07-28 阅读(0)

扫一扫,手机访问

在CentOS上搞定Golang的数据库连接,其实跟其他Linux发行版没什么两样,流程几乎是通用的。下面直接上干货,分别演示MySQL和PostgreSQL的接入方式,代码和步骤都贴出来了,照着走就行。

CentOS中Golang的数据库连接方法

  1. 安装Golang

如果还没装Golang,先搞定它。用下面的命令下载并解压到/usr/local,再配一下环境变量。注意版本号可以根据需要调整,但别用太老的。

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

装完跑一下go version确认,OK就继续。

  1. 安装数据库驱动

MySQL用go-sql-driver/mysql,PostgreSQL用pq。直接go get搞定,简单粗暴:

go get -u github.com/go-sql-driver/mysql
go get -u github.com/lib/pq

这里注意,如果网络环境不好,可能需要设置袋里,但这是另一个话题了。

  1. 编写Golang代码连接数据库

创建一个main.go文件,把下面的代码贴进去。先看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!")
}

关键提醒:代码里的usernamepasswordlocalhost、端口号(MySQL默认3306,PostgreSQL默认5432)、数据库名,统统替换成你自己的实际配置。另外,PostgreSQL的连接字符串里sslmode=disable适用于开发环境,生产环境建议用requireverify-full

  1. 运行程序

终端里进入main.go所在目录,直接跑:

go run main.go

如果一切顺利,你会看到类似这样的输出:

Connected to MySQL!

或者

Connected to PostgreSQL!

这就意味着CentOS上的Golang已经成功连上了数据库。整个过程没什么坑,只要驱动装对、连接串写对,基本一次过。如果遇到问题,先检查数据库服务是否启动、端口是否开放、防火墙有没有拦截,这些都比代码本身更容易出问题。

本文转载于:https://www.yisu.com/ask/22253121.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注