我在使用flutter的mysql1
库设置与我的VPS的连接时遇到了一些问题。当我执行查询时,我遇到了这个错误Unhandled Exception: Error 1156 (08S01): Got packets out of order
。
MySQL服务器版本:8.0.28
这是我用来与数据库建立连接的服务。
var settings = ConnectionSettings( host: 'MY_ADDRESS', port: 3306, user: 'root', password: 'MY_PASSWORD', db: 'MY_DATABASE' ); Future connect() async { return await MySqlConnection.connect(settings); }
然后我尝试以另一种方式在另一个方法中检索用户信息:
var connection = await mysqlService.connect(); var res = await connection.query('select name from users'); await connection.close();
问题出现在connection.query函数中,它生成了错误:
[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>
我不确定这是我的VPS上的数据库问题还是其他问题。
这个软件包似乎在MySQL 8上有问题。
尝试使用mysql_client,这个对我有帮助。
https://pub.dev/packages/mysql_client