Qt使用OCBC远程连接MySQL

笔者之前买的腾讯的MySQL云数据库到期了,基本各家云服务商对新用户的优惠都比较大,续费就很不友好了,所以记录下手动搭建MySQL云数据库的过程。

环境

1、两台电脑,笔者的是本机win11,远程winserver2019。
2、花生壳。
3、远程电脑安装MySQL,本机Qt6.2.4+ODBC。

1、远程电脑安装MySQL

笔者这里使用的MySQL Installer安装的Server 8.0 x64。
在这里插入图片描述
安装完成后,需要把MySQL配置为可以远程访问,一般是只允许localhost访问。打开MySQL自带的命令行:

mysql->show databases;//展示所有的库
mysql->create database mybase;//创建一个库
mysql->use mysql;//切换库,这个库里有用户列表
mysql->select user, host from user;//展示所有用户
//到这里的时候,root后面是localhost,表示中允许本机访问
mysql->update user set host='%' where user='root';//改为%,表示所有IP均可访问
mysql->flush privileges;//立即生效

到这里远程电脑的MySQL就可以了,如果要外网访问,就安装花生壳,内网端口选择3306,记下动态分配的IP和端口。

2、本机配置ODBC

首先使用MySQL Installer安装Connecter/OCBC,笔者安装的是这个:
在这里插入图片描述
有其他教程写的如果在windows系统中的ODBC数据源中进行配置,笔者采用在Qt中配置的方式,所以ODBC到这里就结束了,不需要在系统中配置数据源。

Qt代码

这里就很简单了,pro文件中添加QT+=sql。
.cpp文件:

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC", "myodbc");
QString dsn = "Driver={MySQL ODBC 8.0 UniCode Driver};"; // Driver is now {MySQL}
dsn.append("Server=192.168.3.44:3306;"); // IP,Port
dsn.append("Database=mybase;");  // 这个是一开始创建的库
dsn.append("Uid=root;");         // User
dsn.append("Pwd=3036;");
dsn.append("MULTI_HOST=1;");
db.setDatabaseName(dsn);
if (!db.open())
    qDebug()<<db.lastError();
else
    qDebug()<<"ok";

参考:
https://blog.csdn.net/YanWenCheng_/article/details/116567098
https://www.cnblogs.com/li150dan/p/15175201.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值