Go 操作mysql使用举例---连接本地数据库

连接数据库的方式有两种:TCP和Unix域socket。

本文使用Unix domain sockets连接数据库。关于TCP连接数据库可以参考Go 操作mysql使用举例

package main

import (
    "database/sql"
    "fmt"
    "log"

    _ "github.com/go-sql-driver/mysql"

)

type DBConnectionInfo struct {
    ID  []byte
    User    string
    Host    string
    DB  []byte
    Cmd string
    Time    []byte
    State   string
    Info    []byte
}

func(f *DBConnectionInfo) String() string{

    return fmt.Sprintf("ID:%s, User:%s, Host:%s, DB:%s, Cmd:%s, Time:%s, State:%s, Info:%s", string(f.ID), f.User, f.Host, string(f.DB), f.Cmd, string(f.Time), f.State, string(f.Info))

}

const (
    mysqlShowProcessList="show processlist"
)
var DB *sql.DB

//var dataBase = "root:[email protected](/tmp/mysql.sock)/mysql"
var dataBase = "root:[email protected](/tmp/mysql.sock)/"

func Init() {
    var err error
    DB, err = sql.Open("mysql", dataBase)
    if err != nil {
        log.Fatalln("open db fail:", err)
    }

    err = DB.Ping()
    if err != nil {
        log.Fatalln("ping db fail:", err)
    }
}

func main() {

    Init()

    query()

}

func query() {

    rows, err := DB.Query(mysqlShowProcessList)
    if err != nil {
        log.Println("query failed:", err)
        return
    }
    defer rows.Close()

    for rows.Next(){
        data := &DBConnectionInfo{}
        if err := rows.Scan(&data.ID, &data.User, &data.Host, &data.DB, &data.Cmd, &data.Time, &data.State, &data.Info); err != nil {
            log.Println("Scan failed:", err)
        }

        fmt.Println("data:", data)
    }

}

output:

data: ID:145, User:root, Host:localhost, DB:, Cmd:Sleep, Time:632, State:, Info:

data: ID:172, User:root, Host:localhost, DB:, Cmd:Query, Time:0, State:starting, Info:show processlist

参考

https://blog.csdn.net/lanyang123456/article/details/79831537

https://www.cnblogs.com/hanyouchun/p/6708037.html

原文地址:https://www.cnblogs.com/lanyangsh/p/9783615.html

时间: 2024-10-05 12:33:18

Go 操作mysql使用举例---连接本地数据库的相关文章

mysql安装、启动mysql服务、连接本地数据库和远端数据库

因为接了一个公司的项目,得用mysql,特来学习一下~! 一.mysql安装 百度mysql下载一个即可.只是注意一下几个重要的数据: 第一个就是Port Number :3306.端口号默认3306,一般不需要改,如果改了,请记住这个端口号. 第二个就是password:本地数据库密码,默认用户名是root 第三个就是Windows Service Datails:MySQL56,如果修改了请记住.(可以取消Start the MySQL Server at System Startup前面的

如何使用navicat for mysql连接本地数据库,并且导入数据文件

如何使用navicat for mysql连接本地数据库,并且导入数据文件 1. 简介 navicat for mysql是一种数据库管理工具, 专门用于简化, 开发和管理MySQL.我们可以使用navicat for mysql来连接远程数据库,也可以连接本地数据库.使用这个工具,查看表的数据非常方便,也可以输入SQL命令来实现查询.但是输入创建表等命令就不是很方便了.好了,我们一起来看看怎么使用navicat for mysql 创建并查询数据库中的数据. 2. 连接数据库 首先,你得确认你

常用SQL操作(MySQL或PostgreSQL)与相关数据库概念

本文对常用数据库操作及相关基本概念进行总结:MySQL和PostgreSQL对SQL的支持有所不同,大部分SQL操作还是一样的. 选择要用的数据库(MySQL):use database_name; help show; 显示可用的数据库列表:show databases; 显示一个数据库内可用的表的列表:show tables; 显示表列:show columns from 一个表名; /describe 表名;  示例:show columns from customers;    desc

oracle 安装及用plSql连接本地数据库

1.首先安装本地oracle,这里我用的是XE10g的,具体安装就不演示了,一路傻瓜无脑装,用户名密码习惯设为root/root: 2.安装plsql,不习惯英文的可以紧接着装个中午插件,不做赘述: 3.连接本地数据库,,用户名:root ;口令(即密码):root ;数据库(本地):XE ;连接为:SYSDBA :点击确定,你会发现神奇的连上了;,

C#数据库相关操作:[1]C#连接SQL数据库(转)

对于学生或程序员而言,一般的编程过程中,基本上都会用到数据库,来保存用户登录信息或其他相关数据,本经验不在于教你什么新的知识,只是将一些零碎的数据库知识统一成册,方便人们查阅. Visual Studio是一个很强大的工具,特别是在C#语言运用越来越广的现在. 工具/原料 Visual Studio 2010 SQL Server 2008 1. 创建测试数据库Test 1 1.1 打开SQL Server管理工具 2 1.2 连接数据库服务器 3 1.3 在左侧视图中右键点击“数据库”,选择“

使用navicate连接本地数据库

第一步:本地需要安装mysql数据库.(在搜索行输入mysql进行查找) 如图所示纪委存在MySQL,如果没有请先下载,搜索MySQL下载就可以. 第二步:在搜索命令行输入navicat,查询是否安装 没有的话,可以在网上下载,这个很简单,百度搜索即可. 第三步:打开navicat,新建连接. 密码是你安装MySQL所设置的密码. 提示连接成功即可. 如何进入命令行: 第一:可以通过mysql的界面直接进入 (输入设置的密码) 第二种方法:(从一些连接工具(navicat等)进入) 连接mysq

mysql无法远程连接到数据库解决方法

ERROR 1130: Host ’xxx.xxx.xxx.xxx′ is not allowed to connect to this MySQL server这是告诉你没有权限连接指定IP的主机,下面我们来看看解决办法. 1.授权法 例如,你想"myuser"使用密码为"mypassword"从任何主机连接到mysql服务器的话. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypasswo

二、navicat连接本地数据库以及远程数据库

本地连接 1.打开navicat 2.连接 最后点击确定就连接成功了: 远程数据库 和上面一样..... 原文地址:https://www.cnblogs.com/luzhanshi/p/12021133.html

oracle连接本地数据库

连接方式: 通过SQL Developer进行连接: 通过sql plus 进行连接: SQL Developer进行连接1.安装Oracle 11g会自带一个叫做SQL Developer的工具,它的功能非常强大. 首先我们打开SQL Developer,如下图所示: SQL Developer不能用于创建Oracle数据库,只能用来连接已创建的数据库,我们一般都是使用Database Configuration Assistant(简称DBCA)来创建数据库.2.点击“SQL Develop