TiProxy is incompatible with go-sql-driver 1.3.0
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Reproduisez l’échec en démarrant TiDB et TiProxy, puis en vous connectant avec go-sql-driver/mysql 1.3.0 en utilisant l’exemple de l’issue. Lisez packets.go de go-sql-driver/mysql v1.3.0 autour des lignes 495-497 et comparez le handshake d’authentification avec la version 1.4.0 ; c’est terminé lorsque le problème de compatibilité et une voie de correction prise en charge par le projet sont établis.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Bug Report
Please answer these questions before submitting your issue. Thanks!
1. Minimal reproduce step (Required)
- Start TiDB and TiProxy
- Connect to TiProxy with go 1.3.0
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
func main() {
mdb, err := sql.Open("mysql", "root@tcp(localhost:6001)/test")
if err != nil {
panic(err)
}
err = mdb.Ping()
if err != nil {
panic(err)
}
}
2. What did you expect to see? (Required)
No error
3. What did you see instead (Required)
Driver reports this user requires mysql native password authentication.
4. What is your version? (Required)
master.
The reason:
- Go-sql-driver sends the auth packet with
mysql_native_password. But when TiProxy requests to switch auth method tomysql_native_password, go-sql-driver just reportsErrNativePassword. See https://github.com/go-sql-driver/mysql/blob/v1.3.0/packets.go#L495-L497. I think there's no way to avoid this problem on TiProxy side. - Connecting to TiDB directly doesn't have this problem because TiDB won't send a switch auth request in this case.
- Go-sql-driver 1.4.0 works well.
- Langage dominant
- Go
- Étoiles
- 73
- Forks
- 40
- Merge moyen
- 15 h 43 min
- PR mergées (30 j)
- 9
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de pingcap/tiproxy
-
migration:bb7133-tiproxy
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
migration:bb7133-tiproxy
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
[Rust-dataplane] Migration backend handshake must preserve CONNECT_WITH_DB when current-db emptyOuvertemigration:bb7133-tiproxy
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
Les mainteneurs répondent en général sous 1 jour
-
[Rust-dataplane] Migration must not force CONNECT_ATTRS on backend lacking it with empty attrsOuvertemigration:bb7133-tiproxy
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
Les mainteneurs répondent en général sous 1 jour
-
migration:bb7133-tiproxy
Difficulté 1/5 Moins d'une heure Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de pingcap/tiproxy
Issues similaires
-
[flaky test] TestValidatorCommitterDropsEmptyStatusBatch: submits to the mock VC before its stream is registeredPeut-être pris @liran-funaro l’a pris aujourd’hui. Ouvertecoordinator flaky-test race-condition testing
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
hyperledger/fabric-x-committer#876 ·
Les mainteneurs répondent en général sous 1 jour
-
kind/features
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
TencentBlueKing/bk-nodemgr#3804 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
cloudnative-pg/plugin-barman-cloud#1187 ·
Les mainteneurs répondent en général sous 1 jour
-
[deliverclient] Remove the unused common/deliverclient packagePeut-être pris @liran-funaro l’a pris aujourd’hui. Ouvertecode-hygiene
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
hyperledger/fabric-x-common#236 ·
Les mainteneurs répondent en général sous 1 jour
-
consensus feature I2 S4 U2
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour