Π Π°ΡΡΠΊΠ°ΠΆΠΈΡΠ΅ Π½Π°ΠΌ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ, Π° ΡΡΠΎ - Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ
mysql5.7 Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
// 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)
}
[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
ΠΠ΅ΡΡΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° (ΠΈΠ»ΠΈ git SHA): origin / master
ΠΠ΅ΡΡΠΈΡ go: go1.10.2 darwin / amd64
ΠΠ΅ΡΡΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ°
Π‘Π΅ΡΠ²Π΅ΡΠ½Π°Ρ ΠΠ‘: macOS 10.13.4 (17E202)
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π·Π΄Π΅Π» ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ Π·ΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΡΠ°Π±Π»ΠΎΠ½Π΅ Π·Π°Π΄Π°ΡΠΈ:
### 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
Π― ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π²Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π²Π΅ΡΠΊΠ° Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git rev-parse HEAD
Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π΅ΡΠ΅ ΡΠ°Π· Ρ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ, Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ.
ΠΏΡΠΈΠ²Π΅Ρ Ρ ΠΌΠ΅Π½Ρ ΡΠΎΠΆΠ΅ Π΅ΡΡΡ ΡΠ°ΠΊΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΡ ΡΠ΅ΡΠΈΠ»ΠΈ?
Π½Π΅Ρ
ΠΡΠ° Π²Π΅ΡΠΊΠ° ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΄Π»Ρ Π²Π°Ρ? https://github.com/go-sql-driver/mysql/tree/empty_auth
Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ»ΠΎ Π±Ρ Π·Π΄ΠΎΡΠΎΠ²ΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΡΡΠΎΠΉ print(data)
ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° https://github.com/go-sql-driver/mysql/blob/d523deb1b23d913de5bdada721a6071e71283618/packets.go#L157 -L167 ΠΈ Π·Π΄Π΅ΡΡ https://github.com/go-sql-driver/mysql/blob/d523deb1b23d913de5bdada721a6071e71283618/packets.go#L469 -L474 ΠΈ ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ Π½Π°ΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π΄Π°ΠΌΠΏ ΠΏΠ°ΠΊΠ΅ΡΠ°, ΡΡΠΎΠ±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ°.
@gocuntian , Π²Ρ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ?
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ Π²ΠΎΠΏΡΠΎΡ, ΠΌΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±Π΅Π· Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
Π°ΠΊΠΊΡΠ΅Π΄ΠΈΡΠ°ΡΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:
auth.go: 240, Π² func auth () Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊΠΎΠ΄:
if plugin == "" {
plugin = "mysql_native_password"
}
ΠΌΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΠ΅Π½Π°
Π― ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ MySQL 5.1.
auth.go:293: unknown auth plugin:
driver.go:120: could not use requested auth plugin '': this authentication plugin is not supported
ΠΠ΅ΡΠΊΠ° https://github.com/go-sql-driver/mysql/tree/empty_auth ΠΈΡΠΏΡΠ°Π²ΠΈΠ»Π° ΡΡΠΎ. ΠΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π²Π΅ΡΠΊΡ? @julienschmidt
Π£ ΠΌΠ΅Π½Ρ ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
driver.go:113: could not use requested auth plugin 'mysql_native_password': this user requires mysql native password authentication.
Π‘Π±ΠΎΠΉ Π½Π° ΠΌΠ°ΡΡΠ΅ΡΠ΅ (ΠΈΠ΄ΠΈ ΠΈΠ΄ΠΈ)
ΠΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ v1.4.0
Π Π°Π±ΠΎΡΠ°Π΅Ρ Ρ v1.3.0
Π― ΠΌΠΎΠ³Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ. ΠΠ»ΠΈ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ ΡΡΠΎ Π΄ΡΡΠ³Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈ Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ Π²ΡΠΏΡΡΠΊ?
ΠΡΠΊΡΡΡ ΡΠ½ΠΎΠ²Π°. Π‘ΠΌ. # 828 ΠΈ # 835 (PR Π΄Π»Ρ Π²Π΅ΡΠΊΠΈ empty_auth
)
Π― ΠΏΡΠΎΡΡΠΎ Ρ ΠΎΡΡ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡ, ΡΡΠΎ Π·Π΄Π΅ΡΡ Π΅ΡΡΡ Π΄Π²Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌΠΈ ΡΠΈΠΌΠΏΡΠΎΠΌΠ°ΠΌΠΈ.
ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² # 835, ΠΏΠΎΡ
ΠΎΠΆΠ΅, ΠΈΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΡ ΠΏΠ»Π°Π³ΠΈΠ½Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΡΡΠΎ, Π½ΠΎ ΠΎΠ½ΠΎ Π½Π΅ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ @mbertschler, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΈΠΌΠ΅Π» Ρ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ mysql_native_password
(ΡΠΌ. Https://github.com/ go-sql-driver / mysql / issues / 828 # issuecomment-401856689 Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ).
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ Π΄ΡΡΠ³Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π½ΠΎ Ρ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°Ρ, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π² # 835.
@ kwoodhouse93 ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π°ΠΌ ΠΆΡΡΠ½Π°Π» ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π·Π΄Π΅ΡΡ: https://github.com/go-sql-driver/mysql/issues/815#issuecomment -396244978 (ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ empty_auth
branch / # 835)?
Π ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π½Π° Π²ΡΡΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ &allowNativaPasswords=true
Π² DSN (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ true
)
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²Π΅ΡΠΊΡ empty_auth
, Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» print(data)
Π² ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠ΅ ΠΌΠ΅ΡΡΠ°, ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ» ΡΠ°ΠΊΠΈΠΌ:
[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.
...
ΠΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠΈΠ»ΠΎΡΡ 12 ΡΠ°Π·, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠΎΠΏΡΡΠΊΠ° ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΠ»Π°ΡΡ, ΠΊΠ°ΠΆΠ΄ΡΠΉ Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈΠΌ Π°Π΄ΡΠ΅ΡΠΎΠΌ.
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΌΠΎΠ΅Π³ΠΎ DSN, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ mysql.Config
Ρ FormatDSN()
. AllowNativePasswords
Π±ΡΠ»ΠΎ ΠΎΠΏΡΡΠ΅Π½ΠΎ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΡΡΡΠΊΡΡΡΡ Config
, ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» AllowNativePasswords: true,
. ΠΡΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π½ΠΎ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π²Π΅ΡΠ½ΡΠ»ΠΎ ΡΡ ΠΆΠ΅ ΠΎΡΠΈΠ±ΠΊΡ.
[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.
(ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π½Π° ΡΡΠΎΡ ΡΠ°Π· ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ²ΡΠΎΡΠΈΠ»ΡΡ. ΠΠ½ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠ΅ΡΠΏΠ΅Π» Π½Π΅ΡΠ΄Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΈ Π²Π΅ΡΠ½ΡΠ» ΠΎΡΠΈΠ±ΠΊΡ ΠΌΠΎΠ΅ΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ)
ΠΠ»ΡΠ΄Ρ Π½Π° Π²ΡΠ²ΠΎΠ΄ print(data)
, Π½Π°Π΄Π΅ΡΠ»ΠΈΡΡ Π»ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠΈΡ
Π°Π΄ΡΠ΅ΡΠΎΠ²? Π Π°Π΄ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π΅ΡΠ΅ ΡΠ°Π·, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΌΠ½Π΅, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ (Ρ Π±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅Π» ΡΠ°ΠΌ, Π½ΠΎ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Ρ ΠΌΠ΅Π½Ρ Π½Π΅ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π½Π° ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ).
Π― ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ:
could not use requested auth plugin 'mysql_native_password': this user requires mysql native password authentication.
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΎΠΊΡΠΈ-Π½ΠΎΠΌΠ΅ΡΠΎΠ½Π°Π±ΠΈΡΠ°ΡΠ΅Π»Ρ Ρ DialCfg ΠΈΠ· github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/mysql, ΠΈ Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΡΡΡΠΌ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ AllowNativePasswords Π² ΡΡΡΡΠΊΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
&mysqldriver.Config{
AllowNativePasswords: true,
...
}
@mglonnro ΡΠΌ. https://github.com/go-sql-driver/mysql/issues/815#issuecomment -425704501
Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° Π±ΡΠ»Π° ΡΠ΅ΡΠ΅Π½Π° ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ AllowNativePasswords: true
Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
AllowNativePassword ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true.
ΠΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Config{}
Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ DSN ΠΈΠ»ΠΈ NewConfig()
.
https://godoc.org/github.com/go-sql-driver/mysql#Config
ΠΡΠ»ΠΈ Π½ΠΎΠ²ΡΠΉ Config ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ DSN, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ NewConfig, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ. Π― ΡΠΎΠ·Π΄Π°Π²Π°Π» Config
ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΎΡΠΈΡΠ°Π» Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ API, ΠΏΡΠΎΠΏΡΡΡΠΈΠ» ΡΡΠΎΡ ΡΠ°Π³.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π― ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ:
could not use requested auth plugin 'mysql_native_password': this user requires mysql native password authentication.
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΎΠΊΡΠΈ-Π½ΠΎΠΌΠ΅ΡΠΎΠ½Π°Π±ΠΈΡΠ°ΡΠ΅Π»Ρ Ρ DialCfg ΠΈΠ· github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/mysql, ΠΈ Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΡΡΡΠΌ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ AllowNativePasswords Π² ΡΡΡΡΠΊΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
&mysqldriver.Config{ AllowNativePasswords: true, ... }