### 1. 安装Go语言
先搞定Go。CentOS上有两种主流方式:要么直接用包管理器一把梭,要么手动下载最新版。看你习惯哪种。
#### 使用包管理器安装
简单粗暴,一行命令搞定:
```
sudo yum install golang
```
#### 手动安装(推荐,版本可控)
如果想用更新的版本,手动走一遍也不费事:
1. 下载安装包(以Go 1.17.6为例):
```
wget https://golang.org/dl/go1.17.6.linux-amd64.tar.gz
```
2. 解压到指定目录:
```
sudo tar -C /usr/local -xzf go1.17.6.linux-amd64.tar.gz
```
3. 配置环境变量。编辑 `~/.bashrc` 或 `/etc/profile`,加上这一行:
```
export PATH=$PATH:/usr/local/go/bin
```
然后让配置生效:
```
source ~/.bashrc
```
4. 验证一下安装是否成功:
```
go version
```
看到版本号就说明一切正常。
### 2. 安装数据库
CentOS上常用的数据库无非MySQL和PostgreSQL。这里以MySQL为例,PostgreSQL的操作也一并给出。
#### 安装MySQL
直接用yum安装:
```
sudo yum install mysql-server
```
安装完成后,启动服务并设置开机自启:
```
sudo systemctl start mysqld
sudo systemctl enable mysqld
```
别忘了运行安全脚本,加固一下数据库:
```
sudo mysql_secure_installation
```
#### 安装PostgreSQL
同样包管理器安装:
```
sudo yum install postgresql-server postgresql-contrib
```
启动并启用:
```
sudo systemctl start postgresql
sudo systemctl enable postgresql
```
然后创建数据库和用户(示例中库名叫`mydb`,用户名叫`myuser`):
```
sudo -u postgres psql
CREATE DATABASE mydb;
CREATE USER myuser WITH ENCRYPTED PASSWORD 'mypassword';
GRANT ALL PRIVILEGES ON mydb.* TO myuser;
\q
```
### 3. 在Go中连接数据库
环境搭好了,接下来写个Go程序试试能不能连上。先说MySQL。
#### 安装MySQL驱动
Go连接MySQL需要装一个驱动库,一行命令:
```
go get -u github.com/go-sql-driver/mysql
```
#### 编写Go代码
新建一个`main.go`文件,把下面这段代码丢进去:
```go
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
// 连接数据库
dsn := "myuser:mypassword@tcp(127.0.0.1:3306)/mydb"
db, err := sql.Open("mysql", dsn)
if err != nil {
panic(err.Error())
}
defer db.Close()
// 测试连接
err = db.Ping()
if err != nil {
panic(err.Error())
}
fmt.Println("Successfully connected to the database!")
}
```
#### 运行程序
执行:
```
go run main.go
```
如果看到输出`Successfully connected to the database!`,就说明集成成功了。
### 4. 集成其他数据库
换成PostgreSQL,流程完全一样,只是驱动和连接字符串不同。
#### 安装PostgreSQL驱动
```
go get -u github.com/lib/pq
```
#### 修改Go代码
把`main.go`里的内容替换成:
```go
package main
import (
"database/sql"
"fmt"
_ "github.com/lib/pq"
)
func main() {
// 连接数据库
dsn := "user=myuser password=mypassword dbname=mydb sslmode=disable"
db, err := sql.Open("postgres", dsn)
if err != nil {
panic(err.Error())
}
defer db.Close()
// 测试连接
err = db.Ping()
if err != nil {
panic(err.Error())
}
fmt.Println("Successfully connected to the database!")
}
```
#### 运行
同样 `go run main.go`,看到成功提示就齐活。
通过以上几步,CentOS上Go语言与数据库的集成就算正式完成了。后续你完全可以在这个基础上,扩展CRUD操作、连接池管理,或者集成更复杂的业务逻辑。关键是把基础链路打通,后面就顺畅了。CentOS上Go语言与数据库集成详解
在CentOS上集成Go与数据库需三步:手动安装Go以控制版本;安装并配置MySQL或PostgreSQL;在Go中通过goget安装对应驱动,编写连接代码并测试连通性,确保环境配置完成。
在CentOS上搭建Go语言与数据库的集成环境,这事儿其实不算复杂,但有几个关键步骤需要踩实。下面就把整个过程掰开揉碎了讲一遍,保证你跟着操作完,能跑通一个完整的连接示例。
### 1. 安装Go语言
先搞定Go。CentOS上有两种主流方式:要么直接用包管理器一把梭,要么手动下载最新版。看你习惯哪种。
#### 使用包管理器安装
简单粗暴,一行命令搞定:
```
sudo yum install golang
```
#### 手动安装(推荐,版本可控)
如果想用更新的版本,手动走一遍也不费事:
1. 下载安装包(以Go 1.17.6为例):
```
wget https://golang.org/dl/go1.17.6.linux-amd64.tar.gz
```
2. 解压到指定目录:
```
sudo tar -C /usr/local -xzf go1.17.6.linux-amd64.tar.gz
```
3. 配置环境变量。编辑 `~/.bashrc` 或 `/etc/profile`,加上这一行:
```
export PATH=$PATH:/usr/local/go/bin
```
然后让配置生效:
```
source ~/.bashrc
```
4. 验证一下安装是否成功:
```
go version
```
看到版本号就说明一切正常。
### 2. 安装数据库
CentOS上常用的数据库无非MySQL和PostgreSQL。这里以MySQL为例,PostgreSQL的操作也一并给出。
#### 安装MySQL
直接用yum安装:
```
sudo yum install mysql-server
```
安装完成后,启动服务并设置开机自启:
```
sudo systemctl start mysqld
sudo systemctl enable mysqld
```
别忘了运行安全脚本,加固一下数据库:
```
sudo mysql_secure_installation
```
#### 安装PostgreSQL
同样包管理器安装:
```
sudo yum install postgresql-server postgresql-contrib
```
启动并启用:
```
sudo systemctl start postgresql
sudo systemctl enable postgresql
```
然后创建数据库和用户(示例中库名叫`mydb`,用户名叫`myuser`):
```
sudo -u postgres psql
CREATE DATABASE mydb;
CREATE USER myuser WITH ENCRYPTED PASSWORD 'mypassword';
GRANT ALL PRIVILEGES ON mydb.* TO myuser;
\q
```
### 3. 在Go中连接数据库
环境搭好了,接下来写个Go程序试试能不能连上。先说MySQL。
#### 安装MySQL驱动
Go连接MySQL需要装一个驱动库,一行命令:
```
go get -u github.com/go-sql-driver/mysql
```
#### 编写Go代码
新建一个`main.go`文件,把下面这段代码丢进去:
```go
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
// 连接数据库
dsn := "myuser:mypassword@tcp(127.0.0.1:3306)/mydb"
db, err := sql.Open("mysql", dsn)
if err != nil {
panic(err.Error())
}
defer db.Close()
// 测试连接
err = db.Ping()
if err != nil {
panic(err.Error())
}
fmt.Println("Successfully connected to the database!")
}
```
#### 运行程序
执行:
```
go run main.go
```
如果看到输出`Successfully connected to the database!`,就说明集成成功了。
### 4. 集成其他数据库
换成PostgreSQL,流程完全一样,只是驱动和连接字符串不同。
#### 安装PostgreSQL驱动
```
go get -u github.com/lib/pq
```
#### 修改Go代码
把`main.go`里的内容替换成:
```go
package main
import (
"database/sql"
"fmt"
_ "github.com/lib/pq"
)
func main() {
// 连接数据库
dsn := "user=myuser password=mypassword dbname=mydb sslmode=disable"
db, err := sql.Open("postgres", dsn)
if err != nil {
panic(err.Error())
}
defer db.Close()
// 测试连接
err = db.Ping()
if err != nil {
panic(err.Error())
}
fmt.Println("Successfully connected to the database!")
}
```
#### 运行
同样 `go run main.go`,看到成功提示就齐活。
通过以上几步,CentOS上Go语言与数据库的集成就算正式完成了。后续你完全可以在这个基础上,扩展CRUD操作、连接池管理,或者集成更复杂的业务逻辑。关键是把基础链路打通,后面就顺畅了。
### 1. 安装Go语言
先搞定Go。CentOS上有两种主流方式:要么直接用包管理器一把梭,要么手动下载最新版。看你习惯哪种。
#### 使用包管理器安装
简单粗暴,一行命令搞定:
```
sudo yum install golang
```
#### 手动安装(推荐,版本可控)
如果想用更新的版本,手动走一遍也不费事:
1. 下载安装包(以Go 1.17.6为例):
```
wget https://golang.org/dl/go1.17.6.linux-amd64.tar.gz
```
2. 解压到指定目录:
```
sudo tar -C /usr/local -xzf go1.17.6.linux-amd64.tar.gz
```
3. 配置环境变量。编辑 `~/.bashrc` 或 `/etc/profile`,加上这一行:
```
export PATH=$PATH:/usr/local/go/bin
```
然后让配置生效:
```
source ~/.bashrc
```
4. 验证一下安装是否成功:
```
go version
```
看到版本号就说明一切正常。
### 2. 安装数据库
CentOS上常用的数据库无非MySQL和PostgreSQL。这里以MySQL为例,PostgreSQL的操作也一并给出。
#### 安装MySQL
直接用yum安装:
```
sudo yum install mysql-server
```
安装完成后,启动服务并设置开机自启:
```
sudo systemctl start mysqld
sudo systemctl enable mysqld
```
别忘了运行安全脚本,加固一下数据库:
```
sudo mysql_secure_installation
```
#### 安装PostgreSQL
同样包管理器安装:
```
sudo yum install postgresql-server postgresql-contrib
```
启动并启用:
```
sudo systemctl start postgresql
sudo systemctl enable postgresql
```
然后创建数据库和用户(示例中库名叫`mydb`,用户名叫`myuser`):
```
sudo -u postgres psql
CREATE DATABASE mydb;
CREATE USER myuser WITH ENCRYPTED PASSWORD 'mypassword';
GRANT ALL PRIVILEGES ON mydb.* TO myuser;
\q
```
### 3. 在Go中连接数据库
环境搭好了,接下来写个Go程序试试能不能连上。先说MySQL。
#### 安装MySQL驱动
Go连接MySQL需要装一个驱动库,一行命令:
```
go get -u github.com/go-sql-driver/mysql
```
#### 编写Go代码
新建一个`main.go`文件,把下面这段代码丢进去:
```go
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
// 连接数据库
dsn := "myuser:mypassword@tcp(127.0.0.1:3306)/mydb"
db, err := sql.Open("mysql", dsn)
if err != nil {
panic(err.Error())
}
defer db.Close()
// 测试连接
err = db.Ping()
if err != nil {
panic(err.Error())
}
fmt.Println("Successfully connected to the database!")
}
```
#### 运行程序
执行:
```
go run main.go
```
如果看到输出`Successfully connected to the database!`,就说明集成成功了。
### 4. 集成其他数据库
换成PostgreSQL,流程完全一样,只是驱动和连接字符串不同。
#### 安装PostgreSQL驱动
```
go get -u github.com/lib/pq
```
#### 修改Go代码
把`main.go`里的内容替换成:
```go
package main
import (
"database/sql"
"fmt"
_ "github.com/lib/pq"
)
func main() {
// 连接数据库
dsn := "user=myuser password=mypassword dbname=mydb sslmode=disable"
db, err := sql.Open("postgres", dsn)
if err != nil {
panic(err.Error())
}
defer db.Close()
// 测试连接
err = db.Ping()
if err != nil {
panic(err.Error())
}
fmt.Println("Successfully connected to the database!")
}
```
#### 运行
同样 `go run main.go`,看到成功提示就齐活。
通过以上几步,CentOS上Go语言与数据库的集成就算正式完成了。后续你完全可以在这个基础上,扩展CRUD操作、连接池管理,或者集成更复杂的业务逻辑。关键是把基础链路打通,后面就顺畅了。来源:https://www.yisu.com/ask/83188348.html
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。
相关推荐
补充同频道和同主题内容,方便继续浏览更多相关内容。
同类最新
继续查看同栏目最近更新的文章。
CentOS与Golang打包常见兼容性问题探讨
CentOS与Golang打包的兼容性问题集中在glibc版本不匹配、交叉编译环境变量错误、依赖库缺失及Go依赖管理不规范。可通过Docker容器编译、选择兼容Go版本、正确设置GOOS GOARCH环境变量、安装对应开发包及使用GoModules解决。
CentOS中Fortran与Python如何协同工作从入门到实战完整教程
在CentOS中,Fortran与Python可通过f2py、SWIG、共享库调用或subprocess协同。f2py封装Fortran为Python模块,支持数组运算;共享库需手动对齐数据类型;系统调用适合独立计算。
CentOS中Golang打包优化方法
在CentOS中优化Golang编译打包,可显著提升编译速度并减小二进制文件体积。关键技巧包括:设置环境变量、使用Go模块管理依赖、编译时添加-ldflags= "-s-w "去除调试信息、利用UPX工具压缩、运行strip清理符号表,以及优化cgo内C代码的编译选项。综合运用这些方法能有效优化最终程序。
在CentOS系统中cpustat与其他工具协同使用的完整方法
cpustat作为sysstat包的CPU监控工具,可通过管道与grep等命令配合过滤数据,利用脚本自动记录带时间戳的日志,或结合图形工具查看,也可格式化输出后接入Zabbix、Grafana等Web监控系统,实现可视化与告警。
CentOS中readdir与其他Linux发行版的差异
CentOS基于RHEL,与Ubuntu、Debian、Fedora在包管理器(yum dnfvsapt)、默认文件系统(XFSvsext4)等存在差异,但readdir等系统调用遵循POSIX标准,行为一致。
