|
在Go开发中,快速搭建一个稳定的数据库环境是项目启动的关键一步。Linux系统因其稳定性和高效性,成为开发环境的首选。本文将指导你如何在Linux上极速搭建MySQL和PostgreSQL两种主流数据库,适用于从开发测试到小规模生产环境的场景。所有操作基于Ubuntu 20.04 LTS系统,但步骤对其他主流Linux发行版同样具有参考价值。
MySQL安装与配置 MySQL作为最流行的开源关系型数据库,安装过程极为简洁。打开终端,执行以下命令更新软件包索引:`sudo apt update`。接着安装MySQL服务器:`sudo apt install mysql-server`。安装完成后,运行安全脚本初始化数据库:`sudo mysql_secure_installation`。此脚本会引导你设置root密码、移除匿名用户、禁止远程root登录等安全操作。完成后,通过`sudo mysql -u root -p`登录MySQL,执行`CREATE DATABASE go_db;`创建专用数据库,再使用`CREATE USER 'go_user'@'localhost' IDENTIFIED BY 'your_password';`和`GRANT ALL PRIVILEGES ON go_db. TO 'go_user'@'localhost';`授权新用户。最后执行`FLUSH PRIVILEGES;`使权限生效。
PostgreSQL安装与配置 对于需要高级数据类型和事务支持的场景,PostgreSQL是更优的选择。安装前同样更新软件包:`sudo apt update`,然后安装PostgreSQL:`sudo apt install postgresql postgresql-contrib`。安装完成后,PostgreSQL服务会自动启动。默认情况下,PostgreSQL使用`peer`认证,需切换到postgres系统用户操作:`sudo -i -u postgres`,接着输入`psql`进入交互终端。创建数据库和用户:`CREATE DATABASE go_db;`,`CREATE USER go_user WITH PASSWORD 'your_password';`,并授权:`GRANT ALL PRIVILEGES ON DATABASE go_db TO go_user;`。修改PostgreSQL的认证方式为`md5`(密码认证),编辑`/etc/postgresql/12/main/pg_hba.conf`,将`local all all peer`改为`local all all md5`,重启服务生效:`sudo systemctl restart postgresql`。
连接测试与优化 完成数据库安装后,需验证Go程序能否正常连接。以MySQL为例,安装驱动:`go get -u github.com/go-sql-driver/mysql`,编写测试代码:
package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "go_user:your_password@tcp(127.0.0.1:3306)/go_db") if err != nil { panic(err) } defer db.Close() err = db.Ping() if err != nil { panic(err) } fmt.Println("MySQL连接成功!") }

AI辅助生成图,仅供参考 PostgreSQL的测试类似,只需替换驱动为`github.com/lib/pq`,连接字符串改为`"user=go_user password=your_password dbname=go_db sslmode=disable"`。若连接失败,检查防火墙是否放行端口(MySQL默认3306,PostgreSQL默认5432),或查看数据库日志(`/var/log/mysql/error.log`或`/var/log/postgresql/postgresql-12-main.log`)。
性能优化建议 对于开发环境,可通过修改配置文件提升性能。MySQL的配置文件位于`/etc/mysql/mysql.conf.d/mysqld.cnf`,可调整`innodb_buffer_pool_size`(建议设为物理内存的50%-70%)、`max_connections`(默认151,可适当增加)。PostgreSQL的配置在`/etc/postgresql/12/main/postgresql.conf`,关键参数包括`shared_buffers`(物理内存的25%)、`work_mem`(每个查询操作使用的内存)。修改后需重启服务生效。定期执行`ANALYZE`(PostgreSQL)或`OPTIMIZE TABLE`(MySQL)可维护数据库性能。
通过以上步骤,你已在Linux上快速搭建了可用的MySQL和PostgreSQL环境,并完成了Go程序的连接测试。根据项目需求选择合适的数据库,结合简单的性能调优,即可满足大多数开发场景。遇到问题时,数据库的日志文件和`SHOW VARIABLES;`(MySQL)、`SHOW ALL;`(PostgreSQL)等命令能提供关键调试信息。 (编辑:51站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|