Saya menggunakan fluttermysql1
库设置与我的VPS的连接时遇到了一些问题。当我执行查询时,我遇到了这个错误Unhandled Exception: Error 1156 (08S01): Got packets out of order
.
Versi pelayan MySQL: 8.0.28
Ini adalah perkhidmatan yang saya gunakan untuk mewujudkan sambungan ke pangkalan data.
var settings = ConnectionSettings( host: 'MY_ADDRESS', port: 3306, user: 'root', password: 'MY_PASSWORD', db: 'MY_DATABASE' ); Future connect() async { return await MySqlConnection.connect(settings); }
Kemudian saya cuba mendapatkan semula maklumat pengguna dengan cara lain dengan kaedah lain:
var connection = await mysqlService.connect(); var res = await connection.query('select name from users'); await connection.close();
Masalah berlaku dalam fungsi connection.query, yang menjana ralat:
[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>
Saya tidak pasti sama ada ini adalah isu pangkalan data pada VPS saya atau sesuatu yang lain.
Pakej ini nampaknya mempunyai masalah pada MySQL 8.
Cuba gunakan mysql_client, ini membantu saya.
https://pub.dev/packages/mysql_client