init
This commit is contained in:
59
main.go
Normal file
59
main.go
Normal file
@@ -0,0 +1,59 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"flag"
|
||||
"fmt"
|
||||
"log"
|
||||
"mysql-operate/service"
|
||||
"strconv"
|
||||
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
)
|
||||
|
||||
var (
|
||||
start = flag.Bool("start", false, "运行")
|
||||
tabName = flag.String("tabName", "", "表名")
|
||||
sqlFile = flag.String("sqlFile", "", "导出的sql文件名称,默认为数据库名称")
|
||||
)
|
||||
|
||||
func main() {
|
||||
flag.Parse()
|
||||
if !*start {
|
||||
log.Println(*start)
|
||||
return
|
||||
}
|
||||
appConfig, _ := service.LoadConfig()
|
||||
|
||||
var sqlFileName string = appConfig.Database.Database
|
||||
if *tabName != "" {
|
||||
sqlFileName = *tabName
|
||||
}
|
||||
if *sqlFile != "" {
|
||||
sqlFileName = *sqlFile
|
||||
}
|
||||
|
||||
// 获取数据库配置
|
||||
|
||||
dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4",
|
||||
appConfig.Database.Username,
|
||||
appConfig.Database.Password,
|
||||
appConfig.Database.Host,
|
||||
strconv.Itoa(appConfig.Database.Port),
|
||||
appConfig.Database.Database,
|
||||
)
|
||||
// 连接数据库
|
||||
db, err := sql.Open("mysql", dsn)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("连接失败: %v", err))
|
||||
}
|
||||
defer db.Close()
|
||||
var msqldump service.Msqldump
|
||||
dumo := msqldump.New(db, "./", sqlFileName)
|
||||
if *tabName != "" {
|
||||
dumo.Tablelist = []string{*tabName}
|
||||
}
|
||||
|
||||
dumo.Run()
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user