Open函数只是校验参数格式是否正确,不参与数据库连接

db对象可安全的被 goroutine并发使用 , 并维护自己的空闲连接池, 因此Open函数应该只被调用一次, 很少需要关闭db对象

设置数据库连接的最大连接数 , n>0 并小于最大空闲连接数.会将最大空闲连接数减小到匹配最大开启连接数的限制,如果n<=0 ,不会限制最大开启连接数,默认0
func (db *DB) SetMaxOpenConns(n int) 设置连接池中最大空闲连接数,如果n>最大开启连接数,则新的最大闲置连接数会减小到最大开启连接数的限制 ,如果n<=0 ,不会保留最大空闲连接数
func (db *DB) SetMaxIdleConns(n int)
package mainimport ("database/sql""fmt""github.com/gin-gonic/gin"_ "github.com/go-sql-driver/mysql""net/http"
)// 定义全局db变量
var db *sql.DBfunc main() {router := gin.Default() // 默认路由err := initDB()if err != nil {fmt.Printf("init db error:%v \n ", err)} else {fmt.Println("连接成功db")}defer db.Close()router.Run()
}func initDB() (err error) {dsn := "root:root@tcp(127.0.0.1:3306)/fyouku"// 这里db不要使用:= , 全局变量赋值 , 在main中使用// 这里不会校验账号密码是否正确db, err = sql.Open("mysql", dsn)if err != nil {return err}//尝试数据库连接err = db.Ping()if err != nil {return err}db.SetConnMaxLifetime(time.Second*10)//连接存活最大时间db.SetMaxIdleConns(200) //最大空闲连接数db.SetMaxOpenConns(10) // 最大连接数return nil
}

Gin连接mysql相关推荐

  1. mysql跳过安全_Navicat连接MySQL数据库

    前言: 在使用Gin架构搭建博客的时候,需要设计数据库,以及连接数据库.命令端口操控效率实在是太低且不好管理,这个时候使用Navicat就能轻松高效的使用数据库了. 步骤: 下载安装Navicat,M ...

  2. .net连接mysql数据_.net连接MYSQL数据库的方法及示例!

    连接MYSQL数据库的方法及示例 方法一: 使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL 该组件为MYSQL为ADO.NET ...

  3. SQLALchemy之Python连接MySQL

    20220225 https://www.cnblogs.com/toheart/p/9802990.html pymssql连接sqlserver https://blog.csdn.net/qq_ ...

  4. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  5. windows nodejs mysql_windows server 安装 mysql + nondejs连接mysql

    下载 安装 下载完后,将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\mysql 下. 接下来需要配置下 MySQL 的配置文件 打开刚刚解压的文件夹 C:\mysql ,在该文件夹 ...

  6. python用django连接mysql_三分钟了解Django如何连接Mysql数据库

    处理用户注册请求.Django连接MysqL数据库相关配置.数据库迁移命令: my_Dproject/app01/views.py    在views函数文件中添加register函数,来处理用户注册 ...

  7. mysql submission_date_UiPath如何连接MySQL

    UiPath如何连接MySQL 首次登陆,修改密码,首先用 flushprivileges; 再用一下3种方法中的一种 update mysql.user setauthentication_stri ...

  8. python链接mysql 判断是否成功_【初学python】使用python连接mysql数据查询结果并显示...

    因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...

  9. eclipselink mysql_Eclipse连接MySQL数据库(傻瓜篇)

    Eclipse连接MySQL数据库(傻瓜篇) 本来不想写这么简单人文章,在百度上搜索我这个标题,完全符合标题的一大堆.但我按照那些文章捣鼓了很久,就是不行. 我的环境:MySQL:mysql-esse ...

最新文章

  1. 读取字符串字符时出错_JVM | 运行时常量池和字符串常量池及intern()
  2. linux-Centos7安装python3并与python2共存
  3. Cocos2d-x 3.0新引擎文件夹结构
  4. python 进程池阻塞和非阻塞_python 之 并发编程(进程池与线程池、同步异步阻塞非阻塞、线程queue)...
  5. 复制mysql数据目录后无法启动的问题
  6. CocoaPods 安装与使用
  7. 在OS X 10.9上安装Java(Mavericks)
  8. Mac下安装第三方模块报错:‘sqlfront.h‘ file not found的解决办法
  9. mysql资源限制_超出了MariaDB / MySQL资源限制
  10. hp服务器修改风扇转速,如何改变惠普笔记本风扇转速
  11. iOS人脸识别Demo
  12. 银行业务模拟系统的设计与实现(C语言)
  13. Pycharm Debug调试(纯干货)
  14. General Trainning Strategy in Caffe
  15. openssl加密解密
  16. 信道与多径效应基础知识总结
  17. 调试winddows程序(windbg 和 Debug Diagnostic Tool)
  18. Prometheus 监控进程的内存使用率 PromQL 多对一向量匹配
  19. SwiftUI 小专栏20200817汇总
  20. 冯唐:成大事者,大处着眼,小处着手

热门文章

  1. 残差神经网络(ResNet)理解
  2. 新版谷歌浏览器下载(http链接)没反应
  3. 2010年剑桥商务英语(BEC)考试流程
  4. Altium Designer v22.7.1.60 PCB板、电路原理图设计工具
  5. HTML css和js浏览器兼容问题
  6. Win7家庭高级版有什么功能
  7. 【课程设计】VC++可视化MFC小游戏
  8. 公安摧毁6款淫秽漫画APP,查冻涉案资金5100余万元
  9. 年轻的时候应该去漂泊
  10. 问题 D: 编程实现进制转换