在CentOS上集成Go语言与数据库,可以按照以下步骤进行:
首先,你需要在CentOS上安装Go语言。以下是安装步骤:
sudo yum install golang
wget https://golang.org/dl/go1.17.6.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.17.6.linux-amd64.tar.gz
编辑 ~/.bashrc 或 /etc/profile 文件,添加以下内容:
export PATH=$PATH:/usr/local/go/bin
然后使配置生效:
source ~/.bashrc
go version
CentOS上常用的数据库有MySQL、PostgreSQL等。以下以MySQL为例:
sudo yum install mysql-server
启动并启用MySQL服务:
sudo systemctl start mysqld
sudo systemctl enable mysqld
运行安全脚本:
sudo mysql_secure_installation
sudo yum install postgresql-server postgresql-contrib
启动并启用PostgreSQL服务:
sudo systemctl start postgresql
sudo systemctl enable postgresql
创建数据库和用户:
sudo -u postgres psql
CREATE DATABASE mydb;
CREATE USER myuser WITH ENCRYPTED PASSWORD 'mypassword';
GRANT ALL PRIVILEGES ON mydb.* TO myuser;
\q
以下是一个简单的Go程序,演示如何连接MySQL数据库:
go get -u github.com/go-sql-driver/mysql
创建一个名为 main.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!
对于其他数据库(如PostgreSQL),你需要安装相应的Go驱动,并修改连接字符串。例如,连接PostgreSQL的代码如下:
go get -u github.com/lib/pq
修改 main.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语言与数据库。