Golang连接使用本地MySQL数据库

下载mysql数据库

macos:mysql下载

设置环境变量

PATH="$PATH":/usr/local/mysql/bin
如果直接在终端运行,则关闭终端会失效,需要每次配置,建议写入.bash_profile中

运行mysql

终端运行: mysql -u root -p密码
同样可以 mysql -u root -p 回车 然后输入密码
请添加图片描述
如图,则表示成功。
可以使用简单的命令检测一下:
show databases;
或者
use sql;
show tables;

使用\q退出即可

Golang 连接数据库

import (
	"database/sql"
	"fmt"
	"strings"

	_ "github.com/go-sql-driver/mysql" // 必须引入
)

//数据库配置
const (
	userName = "root" // 用户 尽量不要使用root 防止误删
	password = "XXXXXX" // 密码 
	ip       = "127.0.0.1"
	port     = "3306"
	dbName   = "test_db" // 数据库中的表名 需要已经存在
)

//Db数据库连接池
var DB *sql.DB

//注意方法名大写,就是public
func InitDB() {
	//构建连接:"用户名:密码@tcp(IP:端口)/数据库?charset=utf8"
	path := strings.Join([]string{userName, ":", password, "@tcp(", ip, ":", port, ")/", dbName, "?charset=utf8"}, "")

	//打开数据库,前者是驱动名,所以要导入: _ "github.com/go-sql-driver/mysql"
	DB, _ = sql.Open("mysql", path)
	//设置数据库最大连接数
	DB.SetConnMaxLifetime(100)
	//设置上数据库最大闲置连接数
	DB.SetMaxIdleConns(10)
	//验证连接
	if err := DB.Ping(); err != nil {
		fmt.Println("open database fail")
		return
	}
	fmt.Println("connnect success")
}

其中数据库中dbName需要已经存在,则使用命令在终端先生成数据库

create database test_db;
use test_db;

创建用户

CREATE USER 'username'@'host' IDENTIFIED BY 'password';
例如:
CREATE USER 'xubenqi'@'localhost' IDENTIFIED BY '123456';

增加权限

GRANT privileges ON databasename.tablename TO 'username'@'host';
例如:
GRANT ALL ON *.* TO 'xubenqi'@'localhost';
*.* 表示为所有数据库数据表增加权限 all 表示增加所有权限 包括 create、drop、select、insert、update...
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值