<p>complemento de autenticación desconocido mysql5.7</p>

Creado en 6 jun. 2018  ·  20Comentarios  ·  Fuente: go-sql-driver/mysql

Descripcion del problema

Cuéntanos qué debería suceder y qué sucede en su lugar
complemento de autenticación desconocido mysql5.7

Código de ejemplo

// version go1.10.2 darwin/amd64
db, err := sql.Open("mysql", "admin:admin@tcp(127.0.0.1:9696)/test")
    if err != nil {
        fmt.Println("failed to open database:", err.Error())
        return
    }
    defer db.Close()

    rows, err := db.Query("SELECT id,str FROM test_shard_hash")
    if err != nil {
        fmt.Println("fetech data failed:", err.Error())
        return
    }
    defer rows.Close()
    for rows.Next() {
        var id int
        var str string
        rows.Scan(&id, &str)
        fmt.Println("uid:", id, "name:", str)
    }

Registro de errores

[mysql] 2018/06/06 22:15:07 auth.go:293: unknown auth plugin:
[mysql] 2018/06/06 22:15:07 driver.go:120: could not use requested auth plugin '': this authentication plugin is not supported

Configuración

  • Versión del controlador (o git SHA): origen / maestro

  • Go versión: go1.10.2 darwin / amd64

  • Versión del servidor

  • SO del servidor: macOS 10.13.4 (17E202)

bug

Comentario más útil

Actualicé y obtuve este error:

could not use requested auth plugin 'mysql_native_password': this user requires mysql native password authentication.

Estoy usando el marcador proxy con DialCfg de github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/mysql, y en mi caso, la solución simple fue agregar AllowNativePasswords en la estructura de configuración.

&mysqldriver.Config{ AllowNativePasswords: true, ... }

Todos 20 comentarios

La siguiente sección también es por una buena razón en la plantilla de problemas:

### Configuration
*Driver version (or git SHA):*

*Go version:* run `go version` in your console

*Server version:* E.g. MySQL 5.6, MariaDB 10.0.20

*Server OS:* E.g. Debian 8.1 (Jessie), Windows 10

Supongo que su rama maestra no es la última versión. Verifique la versión específica con git rev-parse HEAD y sincronice e intente nuevamente con la versión más nueva si es necesario.

hola, yo también tengo este problema. ¿Lo has resuelto?

No

¿Esta rama soluciona el problema por ti? https://github.com/go-sql-driver/mysql/tree/empty_auth

En cualquier caso, sería genial si pudieras insertar un print(data) simple después de este bloque https://github.com/go-sql-driver/mysql/blob/d523deb1b23d913de5bdada721a6071e71283618/packets.go#L157 -L167 y aquí https://github.com/go-sql-driver/mysql/blob/d523deb1b23d913de5bdada721a6071e71283618/packets.go#L469 -L474 y envíanos el volcado de paquetes resultante para que podamos usarlo para crear una prueba de regresión.

@gocuntian ¿resolvió el problema?

Tengo la misma pregunta, mi pregunta es que mi servidor envía el paquete de inicio sin la forma de autenticación
código fuente de acuerdo:
auth.go: 240, en func auth (), agregue el código:
if plugin == "" {
plugin = "mysql_native_password"
}
mi problema ha sido resuelto

Recibí la misma advertencia al conectarme a MySQL 5.1.

auth.go:293: unknown auth plugin:
driver.go:120: could not use requested auth plugin '': this authentication plugin is not supported

La rama https://github.com/go-sql-driver/mysql/tree/empty_auth lo arregló. ¿Tiene un plan para fusionar la rama? @julienschmidt

Tengo el mismo problema.
driver.go:113: could not use requested auth plugin 'mysql_native_password': this user requires mysql native password authentication.
Falla en el maestro (ve a buscar)
Falla con v1.4.0
Funciona con v1.3.0

Podría proporcionar más información si la necesita. ¿O crees que es otro problema y debería crear un nuevo problema?

Reabierto. Ver # 828 y # 835 (PR para empty_auth sucursal)

Solo quiero resaltar que parece haber dos problemas aquí con síntomas muy similares.

La solución en # 835 parece solucionar el caso en el que hay un nombre de complemento de autenticación vacío, pero no resuelve el problema @mbertschler y yo teníamos con el complemento mysql_native_password (ver https://github.com/ go-sql-driver / mysql / issues / 828 # issuecomment-401856689 para más detalles).

Tal vez ese sea un problema diferente, pero sospecho que se requiere una solución más amplia que la propuesta en el n. ° 835.

@ kwoodhouse93 ¿Puede enviarnos un registro de paquetes, por ejemplo, como se describe aquí: https://github.com/go-sql-driver/mysql/issues/815#issuecomment -396244978 (preferiblemente usando la rama empty_auth / # 835)?

Y también intente agregar &allowNativaPasswords=true a su DSN, por si acaso (debería ser true por defecto)

Usando empty_auth branch, agregué print(data) en los lugares mencionados, y el resultado fue:

[74/4092]0xc42036c004[mysql] 2018/07/13 11:49:18 driver.go:123: could not use requested auth plugin 'mysql_native_password': this user requires mysql native password authentication.
[74/4092]0xc420371004[mysql] 2018/07/13 11:49:26 driver.go:123: could not use requested auth plugin 'mysql_native_password': this user requires mysql native password authentication.
...

Eso se repitió 12 veces antes de que dejara de intentarlo, cada una con una dirección ligeramente diferente.

Con respecto a mi DSN, estoy usando mysql.Config con FormatDSN() . AllowNativePasswords se omitió al crear la estructura Config , así que agregué AllowNativePasswords: true, . Eso cambió un poco el comportamiento, pero finalmente devolvió el mismo error.

[74/4092]0xc420294004[7/4092]0xc420294004S[74/4092]0xc4201bb004[mysql] 2018/07/13 11:53:13 driver.go:123: could not use requested auth plugin 'mysql_native_password': this user requires mysql native password authentication.

(Tenga en cuenta que no se repitió esta vez. Solo falló una vez y devolvió un error a la aplicación de mi cliente)

Mirando la salida producida por print(data) , ¿esperaba ver el contenido de esas direcciones? Me alegra intentarlo de nuevo si me puedes decir cómo hacerlo (lo vería yo mismo, pero no tengo mucho más tiempo para dedicarle a esto hoy).

Actualicé y obtuve este error:

could not use requested auth plugin 'mysql_native_password': this user requires mysql native password authentication.

Estoy usando el marcador proxy con DialCfg de github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/mysql, y en mi caso, la solución simple fue agregar AllowNativePasswords en la estructura de configuración.

&mysqldriver.Config{ AllowNativePasswords: true, ... }

Este error se solucionó en mi caso especificando AllowNativePasswords: true en la configuración

AllowNativePassword es verdadero de forma predeterminada.
No debe usar Config{} para crear un objeto de configuración. Utilice DSN o NewConfig() .

https://godoc.org/github.com/go-sql-driver/mysql#Config

Si se crea una nueva configuración en lugar de analizarse a partir de una cadena DSN, se debe utilizar la función NewConfig, que establece los valores predeterminados.

Gracias. Estaba creando un Config porque leí en los documentos de la API y me perdí ese paso.

¿Fue útil esta página
0 / 5 - 0 calificaciones