这是将我连接到 SQL 服务器的代码片段,当在普通 dart 中使用它时,它工作得很好,但是当尝试将它连接到 flutter 并在我的物理手机中使用它时,它不起作用。 我使用 MySQL Workbench 作为我的电脑中的 SQL 服务器,我创建了一个连接并使用 3306 端口指定 localhost 作为 SQL 服务器中的主机, 在我的 flutter dart 应用程序中,我将主机指定为我的电脑 IP 地址,但它给了我错误“ip 地址”不允许连接到此 MySQL 服务器。
Future<void> connect() async{
conn = await MySqlConnection.connect(
ConnectionSettings(
host:computer/server ip address,
user: my_user,
port:3306,
password: password,
db: my db)
);
}
您遇到的错误(“IP 地址”不允许连接到此 MySQL 服务器)通常表示出于安全原因,MySQL 服务器被配置为拒绝来自某些 IP 地址的连接。您可以采取以下几个步骤来排查和解决问题:
检查MySQL用户权限:
GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'your_ip_address' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;
验证IP地址格式:
Future<void> connect() async {
conn = await MySqlConnection.connect(
ConnectionSettings(
host: 'your_server_ip_address',
port: 3306,
user: 'your_user',
password: 'your_password',
db: 'your_db',
),
);
}