发布于2026-07-28 阅读(0)
扫一扫,手机访问
在CentOS上搞定Golang的数据库连接,其实跟其他Linux发行版没什么两样,流程几乎是通用的。下面直接上干货,分别演示MySQL和PostgreSQL的接入方式,代码和步骤都贴出来了,照着走就行。

如果还没装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就继续。
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
这里注意,如果网络环境不好,可能需要设置袋里,但这是另一个话题了。
创建一个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!")
}
关键提醒:代码里的username、password、localhost、端口号(MySQL默认3306,PostgreSQL默认5432)、数据库名,统统替换成你自己的实际配置。另外,PostgreSQL的连接字符串里sslmode=disable适用于开发环境,生产环境建议用require或verify-full。
终端里进入main.go所在目录,直接跑:
go run main.go
如果一切顺利,你会看到类似这样的输出:
Connected to MySQL!
或者
Connected to PostgreSQL!
这就意味着CentOS上的Golang已经成功连上了数据库。整个过程没什么坑,只要驱动装对、连接串写对,基本一次过。如果遇到问题,先检查数据库服务是否启动、端口是否开放、防火墙有没有拦截,这些都比代码本身更容易出问题。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8