mysql 开启远程访问_QxOrm 访问 MySQL

b413a61922deb6372add2b7fc7e3dcb8.gif

在前面的 QxOrm 章节中,我们已经介绍了对本地数据库的操作,现在是时候介绍对远程数据库的访问了,那么就以最常用的 MySQL 为例吧!

在开始之前,首先要安装 MySQL。如果条件允许,建议将其安装在 Linux 系统上,安装过程可参考《在 Ubuntu 上安装 MySQL》。在使用数据库时,建议结合数据库管理工具(例如:Navicat)一起,这有助于简化数据库的管理。

1

访问 MySQL

与操作 SQLite 类似,QxOrm 在访问 MySQL 时,仅需要对数据库配置稍作更改即可,其他部分几乎可以不做改动。

为了不对 MySQL 自带的数据库产生影响,我们先来建立一个测试数据库 test,下面的所有操作都在该数据库中进行:

2164baf9fde7741cfa1d5b06943e897a.png

在数据库建立成功之后,现在就可以将《QxOrm 快速上手》中的数据库配置部分从 SQLite:

// 初始化参数,用于和数据库交互
qx::QxSqlDatabase::getSingleton()->setDriverName("QSQLITE");
qx::QxSqlDatabase::getSingleton()->setDatabaseName("./Users.db");
qx::QxSqlDatabase::getSingleton()->setHostName("localhost");
qx::QxSqlDatabase::getSingleton()->setUserName("root");
qx::QxSqlDatabase::getSingleton()->setPassword("");

替换为 MySql 了:

// 配置 MySQL
qx::QxSqlDatabase::getSingleton()->setDriverName("QMYSQL");
qx::QxSqlDatabase::getSingleton()->setDatabaseName("test");
qx::QxSqlDatabase::getSingleton()->setHostName("192.168.***.***");
qx::QxSqlDatabase::getSingleton()->setUserName("root");
qx::QxSqlDatabase::getSingleton()->setPassword("password");
qx::QxSqlDatabase::getSingleton()->setPort(3306);

运行程序,然后查看上面创建的数据库,你会看到新建了一张 User 表,并且还添加了几条记录:

143fa60c3e4e3b15d00cfaa0232e9ced.png

这就表明访问 MySql 成功了,是不是很简单呢! 

2

常见问题

在访问远程 MySql 数据库时,难免会出现各种各样的问题,导致最终连接失败,下面来总结下常见的一些原因。

MySql 驱动加载失败

这是 Qt 中的一个典型问题,只要操作 MySql 数据库,就会遇到:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

要解决它,可以参考《QMYSQL driver not loaded 原理及解决方案》,里面写的很详细!

无法访问远程 MySql 数据库

这个原因就比较多了,以下情况都有可能:

  • MySql 服务未开启

  • 防火墙限制 3306 端口访问

  • MySQL 监听的仅是本机 IP

  • 未赋予账号远程登录权限

有关这几个问题的解决方案,可参考《在 Ubuntu 上安装 MySQL》一文。

所以呢,QxOrm 操作 MySQL 并没有想象中那么难,只要解决好驱动加载和远程连接问题就可以了。

·END·

d2cdc3405ec6cd1e81ba555beefd8f98.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

当泛型遇到重载

当泛型遇到了重载,好戏,就发生了。 请看下面代码: 问题:代码能正确编译吗? 这个题目是一个考察泛型的题目。java里面,泛型实际上是“伪泛型”,并不像C#那样是实际上的泛型。 IDE会提示我们下…

redis查询所有key命令_三歪推荐:Redis常见的面试题

本文公众号来源:科技缪缪作者:科技缪缪本文已收录至我的GitHub说说Redis基本数据类型有哪些吧字符串:redis没有直接使用C语言传统的字符串表示,而是自己实现的叫做简单动态字符串SDS的抽象类型。C语言的字符串不记录自身的长度信息…

springboot系列——redisTemplate和stringRedisTemplate对比、redisTemplate几种序列化方式比较

文章目录一、redisTemplate和stringRedisTemplate对比1、StringRedisTemplate2、RedisTemplate二、redisTemplate序列化方式比较1、性能测试对比2、性能总结3、方案一、考虑效率和可读性,牺牲部分空间4、方案二、空间敏感,忽略可读性和效率影响5、使用示…

mysql查询默认排序规则_深究 mysql 默认排序, order by 的顺序【收藏】

mysql 语句中如果没有使用 order by 来排序,通常会用 主键正序排列,但是有的时候不是这样,来看一个实例。实例群友问:请教一个问题,mysql 默认排序问题,当sql 语句 的排序没有指定 主键(id&…

Spring Boot jackson配置使用详解

Spring Boot系列-json框架jackson配置详解 T1 - 前言 目前Java最常见的3中JSON操作框架分别为Gson、Jackson、FastJson,该篇文章主要讲解jackson在SpringBoot环境中各配置项的具体作用。 T2 - 环境依赖 jackson是spring-boot的web/webflux框架默认依赖的json库&…

频率统计表用c语言_空间矢量脉宽调制建模与仿真(基于C语言的SIMULINK仿真模型 | 基于SVPWM模块的仿真)...

文末有仿真模型下载方式1.1 基于C语言的SIMULINK仿真模型使用C语言在MATLAB/SIMULINK中仿真,需要借助s-function builder模块实现。七段式SVPWM仿真模型如图1-1所示。仿真解算器(Solver)选择变步长(Variable-step)、od…

php基本语法 格式,PHP 基本语法格式

PHP 基本语法格式标准代码如下:复制代码 代码如下:...?>短标签模式(此模式需要修改PHP配置,让PHP支持短标签模式):复制代码 代码如下:...?>注释:复制代码 代码如下:/* ...*///#时间: 2009-12-14Abs: 取得绝对值. Acos: 取…

linux 服务器启用端口,linux服务器放行端口

一、默认使用iptables的系统(例如centos6)1、关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放。下面是命令实现:iptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT DROP再用命令iptables -L -n查看 是否设置好, 好看到全部 DROP 了这…

MySQL 无符号和有符号的区别

随笔记录: mysql无符号和有符号的区别 无符号unsigned 表示设置的的数据为0或者正数; 有符号则可以是负数 -; 内存占比 有符号 0-255 无符号 -127~127

linux下tomcat启动后无进程,Linux中Tomcat shutdown.sh后进程仍然存在解决办法

最近我们在使用Jenkins自动化部署项目时,在生产liunx环境下,使用脚本shutdown.sh停止tomcat服务,然后再start之后发现应用无法访问了,后台查看tomcat进程是发现有个2个tomcat进程,说明之前的shutdown并没有完全停掉tom…

扫地机器人电路原理图_扫地机有这一台就够了:石头扫地机器人T6 首拆

听说集齐13台扫地机器人可以召唤扫地机神兽,所以集齐了22台扫地机后我的神兽呢?自从上个月入手了石头科技出品的小瓦青春版扫地机之后已经集齐了所有小米(石头)系扫地机。小瓦青春版是一款无序清洁的扫地机产品,也是石头科技价格最低的入门级…

让我放弃FastDFS拥抱MinIO的8个瞬间

目前可用于文件存储的网络服务选择有很多,比如阿里云OSS、七牛云、腾讯云等等,但是收费都有点小贵。为了帮公司节约成本,之前一直是使用fastDFS作为文件服务器,准确的说是图片服务器。直到我发现了MinIO,我决定放弃Fas…

http 和 https_Golang设置https访问,以及http如何重定向到https

设置https访问:初始代码为http监听:func main() { server : &http.Server{ Addr: ":8080", ... } go func() { if err : server.ListenAndServe(); err ! nil && err ! http.ErrServerClosed { log.Fa…

盘点分布式文件存储系统____分布式文件存储系统简介

盘点分布式文件存储系统 在项目的数据存储中,结构化数据通常采用关系型数据库,非结构化数据(文件)的存储就有很多种方式,服务器本地存储、Nas挂载、ftp等等,今天就来盘点一下,分布式文件存储系统…

常见分布式文件存储介绍、选型比较、架构设计

数据正成为世界上最有价值的资源,分布式文件存储是应对数据爆炸的最好解决方案,那就会涉及到分布式文件存储方案、选型、架构设计等。 分布式文件存储的来源 在这个数据爆炸的时代,产生的数据量不断地在攀升,从GB,TB,PB,ZB.挖掘…

为什么python工程师掌握这些就够了_Python工程师薪资飙升,Python这些技能你掌握了吗...

Python的火热,也带动了工程师们的就业热。那么,Python的市场需求和工程师待遇到底如何呢?今天我们来看看具体数据。2019年招聘python工程师薪资飙升,Python这些技能你掌握了吗?Python岗位和待遇和要求怎么样?下面从招…

canvas js 绘图插件_Canvas专题—绘制柱状图(2)

目标:在我们了解过前两章节的知识点以后,为了把知识点进行连结,拓展,现在我们做一个图表吧。看一个echartst图表当今Canvas库有很多供我们选择,比如,echarts在很大程度上能够提高我们的工作效率&#xff0c…

界面优美的linux,Ubuntu 11.04新版发布 诠释精美用户界面

主要改进内容如下:Unity界面在Alpha 3中进行了重大改进,重新设计了Dash面板的功能,可以按类别显示应用程序,此外还包括更好的搜索过滤、支持全屏以及其他视觉效果的提升。Ubuntu 11.04 Alpha 3升级了安装程序,用户如今…

springboot 使用 minio

springboot 使用 minio yml 配置 yml 配置 # ↓↓↓↓↓↓ MinIO文件服务器 ↓↓↓↓↓↓ minio:url: http://114.67.110.190:9001accessKey: minioadminsecretKey: minioadminbucketName: zpfmaven: <dependency><groupId>io.minio</groupId><artifa…

立创EDA

绘制PCB流程&#xff1a; 画原理图 ——> 画原理图 ——> 布线 ——> 铺铜 器件&#xff1a; 器件就是一个个不同的元件&#xff0c;每个元件不同的引脚有不同的功能&#xff0c;但有可能封装是一样的&#xff0c;所以将器件和封装练习起来&#xff0c;才能将…