我在使用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