<p>mysql5.7 plugin auth tidak dikenal</p>

Dibuat pada 6 Jun 2018  ·  20Komentar  ·  Sumber: go-sql-driver/mysql

Deskripsi masalah

Beri tahu kami apa yang harus terjadi dan apa yang terjadi
mysql5.7 plugin auth tidak dikenal

Kode contoh

// 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)
    }

Catatan eror

[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

Konfigurasi

  • Versi driver (atau git SHA): origin / master

  • Go versi: go1.10.2 darwin / amd64

  • Versi server

  • OS Server: macOS 10.13.4 (17E202)

bug

Komentar yang paling membantu

Saya meningkatkan dan mendapatkan kesalahan ini:

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

Saya menggunakan dialer proxy dengan DialCfg dari github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/mysql, dan dalam kasus saya, perbaikan sederhana adalah menambahkan AllowNativePasswords di config struct.

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

Semua 20 komentar

Bagian berikut juga untuk alasan yang bagus di template masalah:

### 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

Dugaan saya adalah bahwa cabang master Anda bukanlah versi terbaru. Harap periksa versi spesifik dengan git rev-parse HEAD dan sinkronkan dan coba lagi dengan versi yang lebih baru jika perlu.

halo, saya juga punya masalah ini. Apakah Anda sudah menyelesaikannya?

tidak

Apakah cabang ini memperbaiki masalah Anda? https://github.com/go-sql-driver/mysql/tree/empty_auth

Bagaimanapun, alangkah baiknya jika Anda dapat memasukkan print(data) setelah blok ini https://github.com/go-sql-driver/mysql/blob/d523deb1b23d913de5bdada721a6071e71283618/packets.go#L157 -L167 dan di sini https://github.com/go-sql-driver/mysql/blob/d523deb1b23d913de5bdada721a6071e71283618/packets.go#L469 -L474 dan kirimkan paket dump yang dihasilkan sehingga kami dapat menggunakannya untuk membuat uji regresi.

@ gocuntian apakah Anda menyelesaikan masalah?

Saya memiliki pertanyaan yang sama, pertanyaan saya adalah server saya mengirim paket init tanpa cara auth
mendapatkan kode sumber:
auth.go: 240, di func auth (), tambahkan kode:
jika plugin == "" {
plugin = "mysql_native_password"
}
masalah saya telah terpecahkan

Saya mendapat peringatan yang sama saat menghubungkan ke MySQL 5.1.

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

Cabang https://github.com/go-sql-driver/mysql/tree/empty_auth memperbaikinya. Apakah Anda memiliki rencana untuk menggabungkan cabang tersebut? @bayu_julianto

Saya memiliki masalah yang sama.
driver.go:113: could not use requested auth plugin 'mysql_native_password': this user requires mysql native password authentication.
Gagal pada master (go get)
Gagal dengan v1.4.0
Bekerja dengan v1.3.0

Saya dapat memberikan info lebih lanjut jika Anda membutuhkannya. Atau apakah menurut Anda itu masalah lain dan saya harus membuat edisi baru?

Dibuka kembali. Lihat # 828 dan # 835 (PR untuk empty_auth cabang)

Saya hanya ingin menggarisbawahi bahwa tampaknya ada dua masalah di sini dengan gejala yang sangat mirip.

Perbaikan di # 835 tampaknya memperbaiki kasus di mana ada nama plugin autentikasi kosong, tetapi itu tidak menyelesaikan masalah mysql_native_password (lihat https://github.com/ go-sql-driver / mysql / issues / 828 # Issuecomment-401856689 untuk informasi selengkapnya).

Mungkin itu masalah yang berbeda, tetapi saya menduga diperlukan perbaikan yang lebih luas daripada yang diusulkan di # 835.

@ kwoodhouse93 Dapatkah Anda mengirimkan log paket kepada kami, misalnya seperti yang dijelaskan di sini: https://github.com/go-sql-driver/mysql/issues/815#issuecomment -396244978 (sebaiknya menggunakan empty_auth branch / # 835)?

Dan juga coba tambahkan &allowNativaPasswords=true ke DSN Anda, untuk berjaga-jaga (seharusnya true secara default)

Menggunakan empty_auth branch, saya menambahkan print(data) di tempat yang disebutkan, dan hasilnya adalah:

[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.
...

Itu diulang 12 kali sebelum berhenti mencoba lagi, masing-masing dengan alamat yang sedikit berbeda.

Mengenai DSN saya, saya menggunakan mysql.Config dengan FormatDSN() . AllowNativePasswords dihilangkan saat membuat Config struct, jadi saya menambahkan AllowNativePasswords: true, . Itu sedikit mengubah perilakunya, tetapi pada akhirnya masih mengembalikan kesalahan yang sama.

[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.

(Perhatikan, kali ini tidak berulang. Ini hanya gagal sekali dan mengembalikan kesalahan ke aplikasi klien saya)

Melihat keluaran yang dihasilkan oleh print(data) , apakah Anda berharap untuk melihat isi dari alamat tersebut? Senang untuk mencoba lagi jika Anda dapat memberi tahu saya cara mendapatkannya (akan terlihat sendiri, tetapi saya tidak punya banyak waktu untuk dihabiskan hari ini).

Saya meningkatkan dan mendapatkan kesalahan ini:

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

Saya menggunakan dialer proxy dengan DialCfg dari github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/mysql, dan dalam kasus saya, perbaikan sederhana adalah menambahkan AllowNativePasswords di config struct.

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

Kesalahan ini diselesaikan dalam kasus saya dengan menentukan AllowNativePasswords: true dalam konfigurasi

AllowNativePassword benar secara default.
Anda tidak boleh menggunakan Config{} untuk membuat objek konfigurasi. Gunakan DSN atau NewConfig() .

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

Jika Config baru dibuat alih-alih diurai dari string DSN, fungsi NewConfig harus digunakan, yang menetapkan nilai default.

Terima kasih. Saya membuat Config karena saya membaca di dokumen API, melewatkan langkah itu.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat