问题详情:使用arduino IDE烧录至esp01s模块并连上WiFi后依然无法连接数据库(云服务器上的),且报错中显示的地址与我在代码中的地址不同(我的地址是43...*,但是报错中的地址是123.149.21.62,而且每次都一样),求老哥们解答!
注:1、WiFi可以连接,没问题。 2、数据库远程登陆权限已经设置,使用sqlyog可以正常访问。 3、在腾讯云控制台也已经将防火墙的3306端口打开。 4、数据库的账号密码确定没问题。
#include <ESP8266WiFi.h> // esp8266库
#include <MySQL_Connection.h> // Arduino连接Mysql的库
#include <MySQL_Cursor.h>
IPAddress server_addr(**,**,**,**); // 安装Mysql的电脑的IP地址
char user[] = "root"; // Mysql的用户名
char password[] = "**"; // 登陆Mysql的密码
char ssid[] = "Psyduck"; // WiFi名
char pass[] = "10001000"; // WiFi密码
WiFiClient client; // 声明一个Mysql客户端,在连接Mysql中使用
MySQL_Connection conn(&client);
MySQL_Cursor* cursor; //
int isConnection=0;
void setup()
{
Serial.begin(9600);
while (!Serial); // 等待端口的释放
Serial.printf("\nConnecting to %s", ssid);
WiFi.begin(ssid, pass); // 连接WiFi
while (WiFi.status() != WL_CONNECTED) { // 如果WiFi没有连接,一直循环打印点
delay(500);
Serial.print(".");
}
Serial.println("\nConnected to network");
Serial.print("My IP address is: ");
Serial.println(WiFi.localIP()); // 打印开发板的IP地址
Serial.print("Connecting to SQL... ");
if (conn.connect(server_addr, 3306, user, password)) // 连接数据库
{
isConnection=1;
Serial.println("成功连接数据库---OK.");
}else{
isConnection=0;
Serial.println("连接数据库失败---FAILED.");
}
cursor = new MySQL_Cursor(&conn); // 创建一个数据库游标实例
}
void loop()
{
}