mirror of
https://github.com/zr-hebo/sniffer-agent.git
synced 2025-08-11 23:41:54 +08:00
Initial commit
This commit is contained in:
50
session-dealer/mysql/connections.go
Normal file
50
session-dealer/mysql/connections.go
Normal file
@@ -0,0 +1,50 @@
|
||||
package mysql
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
du "github.com/zr-hebo/util-db"
|
||||
// log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
func expandLocalMysql(port int) (mysqlHost *du.MysqlDB) {
|
||||
mysqlHost = new(du.MysqlDB)
|
||||
mysqlHost.IP = "localhost"
|
||||
mysqlHost.Port = port
|
||||
mysqlHost.UserName = adminUser
|
||||
mysqlHost.Passwd = adminPasswd
|
||||
mysqlHost.DatabaseType = "mysql"
|
||||
mysqlHost.ConnectTimeout = 1
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func querySessionInfo(snifferPort int, clientHost string) (user, db *string, err error) {
|
||||
mysqlServer := expandLocalMysql(snifferPort)
|
||||
querySQL := fmt.Sprintf(
|
||||
"SELECT user, db FROM information_schema.processlist WHERE host='%s'", clientHost)
|
||||
// log.Debug(querySQL)
|
||||
queryRow, err := mysqlServer.QueryRow(querySQL)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
if queryRow == nil {
|
||||
return
|
||||
}
|
||||
|
||||
userVal := queryRow.Record["user"]
|
||||
if userVal != nil {
|
||||
usrStr := userVal.(string)
|
||||
user = &usrStr
|
||||
}
|
||||
|
||||
dbVal := queryRow.Record["db"]
|
||||
if dbVal != nil {
|
||||
dbStr := dbVal.(string)
|
||||
db = &dbStr
|
||||
}
|
||||
|
||||
return
|
||||
}
|
Reference in New Issue
Block a user