J'utilise Fluttermysql1
库设置与我的VPS的连接时遇到了一些问题。当我执行查询时,我遇到了这个错误Unhandled Exception: Error 1156 (08S01): Got packets out of order
.
Version du serveur MySQL : 8.0.28
C'est le service que j'utilise pour établir la connexion à la base de données.
var settings = ConnectionSettings( host: 'MY_ADDRESS', port: 3306, user: 'root', password: 'MY_PASSWORD', db: 'MY_DATABASE' ); Future connect() async { return await MySqlConnection.connect(settings); }
Ensuite, j'essaie de récupérer les informations utilisateur d'une autre manière :
var connection = await mysqlService.connect(); var res = await connection.query('select name from users'); await connection.close();
Le problème se produit dans la fonction connection.query, qui génère l'erreur :
[VERBOSE-2:ui_dart_state.cc(209)] Unhandled Exception: Error 1156 (08S01): Got packets out of order #0 Handler.checkResponse package:mysql1/…/handlers/handler.dart:77 #1 QueryStreamHandler.processResponse package:mysql1/…/query/query_stream_handler.dart:50 #2 ReqRespConnection._handleData package:mysql1/src/single_connection.dart:349 #3 ReqRespConnection._handleHeader package:mysql1/src/single_connection.dart:318 <asynchronous suspension> #4 ReqRespConnection._readPacket package:mysql1/src/single_connection.dart:303 <asynchronous suspension>
Je ne sais pas s'il s'agit d'un problème de base de données sur mon VPS ou autre chose.
Ce package semble avoir des problèmes sur MySQL 8.
Essayez d'utiliser mysql_client, cela m'a aidé.
https://pub.dev/packages/mysql_client