|
在Go语言开发中,数据库是不可或缺的后端组件。Linux系统因其稳定性和高效性成为开发环境的首选。本文将指导你在Linux环境下快速部署主流数据库(MySQL、PostgreSQL、MongoDB),并介绍Go语言连接数据库的基本方式,帮助你搭建高效的开发环境。
MySQL安装与配置
Ubuntu/Debian系统可通过`sudo apt install mysql-server`一键安装,CentOS/RHEL则使用`sudo yum install mysql-community-server`。安装完成后运行`sudo systemctl start mysql`启动服务,并通过`mysql_secure_installation`进行安全配置(设置root密码、移除匿名用户等)。建议创建独立用户:`CREATE USER 'go_dev'@'localhost' IDENTIFIED BY 'password';`,并授予权限:`GRANT ALL PRIVILEGES ON go_db. TO 'go_dev'@'localhost';`。MySQL默认监听3306端口,可通过`netstat -tulnp | grep mysql`确认服务状态。
PostgreSQL快速上手
Ubuntu用户执行`sudo apt install postgresql postgresql-contrib`,CentOS用户使用`sudo yum install postgresql-server`。安装后自动初始化数据目录,启动服务命令为`sudo systemctl start postgresql`。PostgreSQL默认创建`postgres`系统用户,需切换用户后执行`psql`进入命令行。创建开发用户和数据库:`CREATE USER go_dev WITH PASSWORD 'password';`,`CREATE DATABASE go_db OWNER go_dev;`。修改`pg_hba.conf`文件(通常位于`/etc/postgresql/[版本]/main/`)可调整认证方式,开发环境建议将`peer`改为`md5`以支持密码登录。
MongoDB文档数据库部署
官方推荐使用包管理器安装:Ubuntu执行`sudo apt install mongodb`,CentOS执行`sudo yum install mongodb-org`。启动服务后,默认监听27017端口。MongoDB默认不启用认证,开发环境可暂时跳过配置,生产环境需修改`/etc/mongod.conf`的`security.authorization`为`enabled`,并创建管理员用户:`use admin; db.createUser({user: "admin", pwd: "password", roles: [{role: "userAdminAnyDatabase", db: "admin"}]});`。重启服务后需使用`--auth`参数或配置文件启动才能生效。
Go连接数据库示例
MySQL连接需导入`github.com/go-sql-driver/mysql`,连接字符串格式为`username:password@tcp(127.0.0.1:3306)/dbname`。示例代码:
```go db, err := sql.Open("mysql", "go_dev:password@/go_db") if err != nil { log.Fatal(err) } defer db.Close() err = db.Ping() // 测试连接 ``` PostgreSQL使用`github.com/lib/pq`驱动,连接字符串为`postgres://go_dev:password@localhost/go_db?sslmode=disable`。MongoDB官方驱动为`go.mongodb.org/mongo-driver/mongo`,连接示例:
```go client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI("mongodb://localhost:27017")) if err != nil { log.Fatal(err) } defer client.Disconnect(context.TODO()) ```
环境优化建议
为提升开发效率,建议配置数据库服务开机自启(`sudo systemctl enable mysql`),使用`supervisord`管理进程。开发阶段可修改配置文件(MySQL的`my.cnf`、PostgreSQL的`postgresql.conf`)调整缓存大小和日志级别。对于MongoDB,可创建`/data/db`目录并赋予适当权限作为数据存储路径。使用`docker run`命令可快速启动临时数据库实例进行测试,例如:`docker run --name mysql-test -e MYSQL_ROOT_PASSWORD=test -p 3306:3306 -d mysql:latest`。 (编辑:站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|