@@ -0,0 +1,15 @@
+package mysql
+
+import (
+ "crypto/tls"
+)
+type TLSConfig interface {
+ SetTLSConfig(key string, config *tls.Config)
+}
+var tlsConfigMap = make(map[string]*tls.Config)
+func (d *mysqlDriver) SetTLSConfig(key string, config *tls.Config) {
+ tlsConfigMap[key] = config
@@ -152,6 +152,9 @@ func parseDSN(dsn string) (cfg *config, err error) {
cfg.tls = &tls.Config{}
} else if strings.ToLower(value) == "skip-verify" {
cfg.tls = &tls.Config{InsecureSkipVerify: true}
+ } else if tlsConfig, ok := tlsConfigMap[value]; ok {
+ cfg.tls = &tls.Config{}
+ *cfg.tls = *tlsConfig
}
default: