安装和配置
2.1 安装和配置常用数据库(MySQL、PostgreSQL、SQLite等)
本节将介绍如何在本地环境中安装和配置几种常用的数据库:MySQL、PostgreSQL和SQLite。
2.1.1 安装MySQL
-
下载和安装
- 在MySQL官网下载适用于您操作系统的安装包。
- 按照安装向导进行安装。
-
配置MySQL
- 安装完成后,启动MySQL服务。
- 使用初始root账户登录:
mysql -u root -p
- 配置root账户密码和创建新用户:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; CREATE USER 'username'@'localhost' IDENTIFIED BY 'user_password'; GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;
-
测试连接
- 使用新用户连接数据库:
mysql -u username -p
- 使用新用户连接数据库:
2.1.2 安装PostgreSQL
-
下载和安装
- 在PostgreSQL官网下载适用于您操作系统的安装包。
- 按照安装向导进行安装。
-
配置PostgreSQL
- 安装完成后,初始化数据库并启动PostgreSQL服务。
- 切换到postgres用户并进入PostgreSQL命令行:
sudo -i -u postgres psql
- 配置postgres账户密码和创建新用户:
ALTER USER postgres PASSWORD 'new_password'; CREATE USER username WITH PASSWORD 'user_password'; CREATE DATABASE mydatabase OWNER username;
-
测试连接
- 使用新用户连接数据库:
psql -U username -d mydatabase -W
- 使用新用户连接数据库:
2.1.3 安装SQLite
-
下载和安装
- 在SQLite官网下载适用于您操作系统的安装包。
- 安装完成后,确保
sqlite3
命令可用。
-
创建和配置SQLite数据库
- 创建一个新的SQLite数据库:
sqlite3 mydatabase.db
- 在SQLite命令行中创建表和插入数据:
CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER); INSERT INTO users (name, age) VALUES ('Alice', 30);
- 创建一个新的SQLite数据库:
-
测试连接
- 查询数据库中的数据:
SELECT * FROM users;
- 查询数据库中的数据:
2.2 配置数据库连接
本节将介绍如何在Go中配置数据库连接,主要使用database/sql
包,并分别连接MySQL、PostgreSQL和SQLite数据库。
2.2.1 安装依赖包
在Go项目中,首先需要安装相应的数据库驱动程序:
go get -u github.com/go-sql-driver/mysql
go get -u github.com/lib/pq
go get -u github.com/mattn/go-sqlite3
2.2.2 配置MySQL连接
-
导入包
import ( "database/sql" _ "github.com/go-sql-driver/mysql" )
-
建立连接
func connectMySQL() (*sql.DB, error) { dsn := "username:user_password@tcp(127.0.0.1:3306)/mydatabase" db, err := sql.Open("mysql", dsn) if err != nil { return nil, err } if err := db.Ping(); err != nil { return nil, err } return db, nil }
2.2.3 配置PostgreSQL连接
-
导入包
import ( "database/sql" _ "github.com/lib/pq" )
-
建立连接
func connectPostgres() (*sql.DB, error) { dsn := "user=username password=user_password dbname=mydatabase sslmode=disable" db, err := sql.Open("postgres", dsn) if err != nil { return nil, err } if err := db.Ping(); err != nil { return nil, err } return db, nil }
2.2.4 配置SQLite连接
-
导入包
import ( "database/sql" _ "github.com/mattn/go-sqlite3" )
-
建立连接
func connectSQLite() (*sql.DB, error) { db, err := sql.Open("sqlite3", "mydatabase.db") if err != nil { return nil, err } if err := db.Ping(); err != nil { return nil, err } return db, nil }
通过上述步骤,您可以成功地在Go中配置并连接到不同的数据库,为后续的数据库操作做好准备。