GithubHelp home page GithubHelp logo

esoel / mysql_defaults_file Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sjmudd/mysql_defaults_file

0.0 1.0 0.0 8 KB

Access in GO to MySQL via a defaults_file

License: BSD 2-Clause "Simplified" License

Go 100.00%

mysql_defaults_file's Introduction

mysql_defaults_file

Access in Go to MySQL via a defaults_file.

If using the MySQL command line utilities such as mysql or mysqladmin you can provide a defaults-file option which stores the credentials of the MySQL server you want to connect to. If no specific defaults file is mentioned these utilities look in ~/.my.cnf for this file.

The Go sql interface does not support this functionality yet it can be quite convenient as it avoids the need to explicitly provide credentials.

This small module fills in that gap by providing a function to allow you to connect to MySQL using a specified defaults-file, or using the ~/.my.cnf if you do not specify a defaults-file path.

There is also a function BuildDSN which allows you to build up a Go dsn for MySQL using various string to string map components such as host, user, password, port or socket, and thus removing the need to figure out the Go specific DSN format.

Both these functions are used by pstop to simplify the connectivity and have been split off from it as they may be useful for other programs that connect to MySQL.

Usage

Usage:

import (
	...
	"database/sql"

	_ "github.com/go-sql-driver/mysql"
	"github.com/sjmudd/mysql_defaults_file"
	...
)

// open the connection to the database using the default defaults-file.
dbh, err = mysql_defaults_file.OpenUsingDefaultsFile("mysql", "", "performance_schema")

The errors you get back will be the same as calling sql.Open( "mysql",..... ).

Licensing

BSD 2-Clause License

Feedback

Feedback and patches welcome.

Simon J Mudd [email protected]

Code Documenton

godoc.org/github.com/sjmudd/mysql_defaults_file

mysql_defaults_file's People

Contributors

sjmudd avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.