下载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...