Puedes usar perfectamente el controlador go-sql. Sin embargo, debe usar un usuario de mysql que tenga los derechos de acceso adecuados para crear nuevas bases de datos.
Aquí hay un ejemplo:
func create(name string) {
db, err := sql.Open("mysql", "admin:[email protected](127.0.0.1:3306)/")
if err != nil {
panic(err)
}
defer db.Close()
_,err = db.Exec("CREATE DATABASE "+name)
if err != nil {
panic(err)
}
_,err = db.Exec("USE "+name)
if err != nil {
panic(err)
}
_,err = db.Exec("CREATE TABLE example ( id integer, data varchar(32) )")
if err != nil {
panic(err)
}
}
Tenga en cuenta que el nombre de la base de datos no se proporciona en la cadena de conexión. Simplemente creamos la base de datos después de la conexión (comando CREATE DATABASE) y cambiamos la conexión para usarla (comando USE).
Nota:los muchachos de VividCortex mantienen un buen tutorial y documentación de base de datos/sql en http://go- base de datos-sql.org/index.html