qt连接阿里云服务器上的MYSQL
qt连接云服务器:通过ODBC连接
·
一般有两种方法,一是使用mysql预留的接口,在qt中装相应的驱动;二是通过ODBC这个工具连接。本文采用ODBC连接。
第一步,在阿里云服务器的安全组中开放端口
实例—>安全组—>配置规则
手动添加,端口范围
端口是3306,源的意思是哪些可以访问到,这里可按需自选
然后通过ssh连接服务器, 我们看一下服务器端口是否放开
先看一下mysql的运行状态
systemctl status mysql
如果没运行,就需要先运行
systemctl start mysql
下面命令列出开放的端口
firewall-cmd --list-ports
如果里面没有端口3306,那么就用以下命令开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
随后重启防火墙
systemctl restart firewalld.service
注意!这里有些朋友使用的Xshell可能会断开与服务器的连接,这是因为Xshell默认设置的活动状态问题,修改为以下即可,随后在阿里云官网重启服务器(没断开不用管)
第二步,ODBC的配置
打开电脑上的ODBC,点击添加,我们选 MySQL ODBC 8.1 ANSI Driver
如果没有MySQL ODBC这个选项,去这里下载:(一般都是下载64位的)
Data Soure Name填写自定义的数据源名称,后面连qt会用到
TCP/IP Server 填写你的服务器IP地址
Usr 填写用户名
Password填写密码
Database:注意这里!别点下拉框,会卡死,直接输入你在mysql中创好的数据库,然后点test
如果成功会出现:
第三步,qt测试代码
首先,在项目中的.pro文件中加上:
QT += sql
然后在主文件中,包含以下头文件:
#include <QMessageBox>
#include <QSqlDatabase>
写入以下代码:
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setHostName("你的服务器IP");
db.setPort(3306);
db.setDatabaseName("之前起的数据源名称");
db.setUserName("你的用户名");
db.setPassword("你的密码");
bool flag = db.open();
if (flag){
QMessageBox::information(this, "infor", "连接成功");
}
else {
QMessageBox::information(this, "infor", 连接失败");
}
如果出现连接成功,就大功告成了
更多推荐
已为社区贡献1条内容
所有评论(0)