今天要写个工具就想顺便学下go。网上翻了下发现用比较多的是mymysql和go-mysql-driver。
这两个驱动网上比较的文章也有些了,不过都没有提到一个点,个人觉得是很重要的,记录一下。
先看使用go-mysql-driver的例子。
db,_:=sql.Open("mysql",connect_string) db.Query("set binlog_format=row")
rows,_:=db.Query("select @@binlog_format") forrows.Next(){ varvstring rows.Scan(&v) fmt.Println(v) // 输出是MIXED (global值) } rows.Close() db.Close()
|
从上面的输出可以看到,set语句无效。
原因是在database/sql这个库实现中, 上面的变量db维护的是一个线程池,而不是一个线程,因此前后两次执行db.Query并不保证在同一个session里面。
同样的, set @a=1,这种线程变量也是可能在后续的select中得不到1这个值。
由于mymysql 不是基于database/sql,以下代码能确保输出19
mydb := mysql.New("tcp", "", "ip:port”, user, password, dbname)
mydb.Connect()
mydb.Query("set @a=19")
res, _ := mydb.Start("select @a")
for {
row, _ := res.GetRow()
if row == nil {break}
fmt.Println(row.Str(0))
}
mydb.Close()
相关推荐
github.com/go-sql-driver/mysql,go语言连接数据库的驱动
go-mysql-elasticsearch - 自动同步你的MySQL数据到Elasticsearch
go-mysql-server是一个SQL引擎,能解析标准SQL(基于MySQL语法)并优化查询。 它提供了简单的接口,允许自定义表格数据源实现。提供与MySQL协议兼容的服务器实现。 这意味着它与MySQL ODBC,JDBC或默认的MySQL客户端...
go-mysql - 一个Go工具集用于处理MySQL协议和复制
amoeba-mysql-binary-2.2.0.tar.gz amoeba-mysql-binary-2.2.0.tar.gz amoeba-mysql-binary-2.2.0.tar.gz amoeba-mysql-binary-2.2.0.tar.gzamoeba-mysql-binary-2.2.0.tar.gz amoeba-mysql-binary-2.2.0.tar.gz ...
开源项目-pubnative-mysqldriver-go.zip,GC优化的MySQL驱动程序
日志安全审计插件,原官网已经无法下载 mysql 5.7社区版安全审计插件audit-plugin-mysql-5.7-1.1.7-921-linux-x86_64.zip mysql 5.7社区版安全审计插件audit-plugin-mysql-5.7-1.1.7-921-linux-x86_64.zip mysql 5.7...
mysql安装教程(保姆级)---mysql-8.0.32-winx64 mysql安装教程(保姆级)---mysql-8.0.32-winx64 mysql安装教程(保姆级)---mysql-8.0.32-winx64 mysql安装教程(保姆级)---mysql-8.0.32-winx64 mysql安装教程...
perl-DBD-MySQL-4.013-3.el6.x86_64.rpm
mysql-connector-java-5.1.6,Mysql database JDBC driver
Go MySQL Driver 一个轻量级和快速的MySQL驱动Go程序
async-mysql-connector-1.6.jar async-mysql-connector-1.6.jar async-mysql-connector-1.6.jar async-mysql-connector-1.6.jar async-mysql-connector-1.6.jar async-mysql-connector-1.6.jar async-mysql-...
go语言mysql驱动,go-sql-driver 1.6,使用方法:https://blog.csdn.net/qq_30712797/article/details/121570445
mysql 5.7安全审计插件 Linux X86-X64通用版本 audit-plugin-mysql-5.7-1.1.7 for Linux 等保开启审计插件,貌似官网找不到,发出来共享. 缺点:日志信息比较大,对性能影响大。 优点:对每一时刻每一用户的操作都有...
mysql-connector-java mysqldriver
资料-MySQL数据库 视频-MySQL数据库 文档 运维篇.rar 进阶篇.rar 基础篇.rar MySQL-运维篇.pdf MySQL-进阶篇.pdf MySQL-基础篇.pdf MySQL存储过程.xmind 文档 运维篇.rar 进阶篇.rar 基础篇.rar 资料-MySQL数据库 ...
04-VIP-Mysql索引优化实战一.pdf
go-mysql-server是一个SQL引擎,用于解析标准SQL(基于MySQL语法),解析和优化查询。 它提供了简单的界面,以允许自定义表格数据源实现。 go-mysql-server还提供了与MySQL有线协议兼容的服务器实现。 这意味着它...
用于连接mysqljdbc的资源包:cloud-mysql-connector-java-5.1.7-bin.jar.zip
amoeba-mysql-3.0.5-RC.tar.gz数据库读写分离,linux版本