视频示例:如下直通车

Qt连接数据库

个人博客直达

一、安装Mysql数据库软件

1.下载安装连接:点击连接

2.解压,打开如下

3.设置环境变量

4.修改添加环境变量

5.新建配置文件my.ini(新建一个空白文件)

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\\Mysql\\mysql-5.7.33-win32
# 设置mysql数据库的数据的存放目录
#datadir=D:\\Mysql\\mysql-5.7.33-win32\\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

详细安装过程请参考:压缩包安装mysql

6.检测本机QT是否有mysql驱动

没有mysql驱动时出现如下错误:

QSqlDatabase: QMYSQL driver not loaded

检测程序:

#include "widget.h"
#include "ui_widget.h"
#include <QSqlDatabase>
#include <QDebug>
#include <QMessageBox>
#include <QSqlQuery>
#include <QSqlError>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");//添加驱动db.setHostName("localhost");db.setUserName("root");db.setPassword("123456");db.setDatabaseName("sys");if(!db.open()){QMessageBox::warning(this,"错误",db.lastError().text());return;}QSqlQuery query;qDebug()<<QSqlDatabase::drivers();
}Widget::~Widget()
{delete ui;
}

出现报错,就按照如下教程手动编译mysql驱动:qt连接mysql报错:QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC…

按照教程修改后将会出现如下效果:

进而将驱动以及库文件放到相应的地方!

小插曲:

手动编译仍未出现上面那个文件夹有可能就是qt出现了问题,建议重装!我的就是编译以后没有出现那个文件夹,百度了两天仍未解决,于是乎。。。我就重装了,然后就解决了!

注意:mysql的版本要与qt对应,这里用的是32位的

至此,配置成功!

二、开启连接远程数据库

法一:修改表格

  • 在bin目录下打开数据库

输入:

MySQL>update user set host = '%' where
user = 'root';
MySQL>select host, user from user;
MySQL>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
//解释:开启全部权限,'root'自定义的用户名,可以是别的;'%'是代表对任意的ip地址开放;'mypassword' 是自定义的密码。
MySQL>flush privileges;
MySQL>EXIT

法二:直接修改(我采用这个)

mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO ‘root'@'%' IDENTIFIED BY
‘MyPassword' WITH GRANT OPTION;
//和上面一样,当然这里可以把%替换为你指定的ip也可以不指定
MySQL>flush privileges;//开启权限

连接测试:


连接成功,无报错!

远程连接已开启,目前可以实现本地连接和远程连接!

注意:在进行连接数据库时请在.pro中添加:QT += core gui sql

Qt连接mysql数据库、数据库开启远程连接,实现QQ登录、注册、修改密码功能(已实现),后续继续更新中...相关推荐

  1. SQL Server 2005 连接本地端口1433开启远程连接/登陆18456错误的解决方法

    SQL Server 2005 连接本地端口1433开启远程连接/登陆18456错误的解决方法 出处:http://jimmyli.blog.51cto.com/我站在巨人肩膀上Jimmy Li 作者 ...

  2. 昆仑通态如何连接sqlserver数据库_sqlserver数据库怎么开启远程连接,给到别人访问...

    第一次看到这个在网上查的时候真的有点蒙,看了也不会,这个有两种情况: 1.只是局域网内的远程连接访问  2.外网的远程连接访问 我这里先谈第一种情况:这种情况的操作: (1)登陆SQL Server ...

  3. mysql数据库设置开启远程连接

    1.进入mysql安装目录下.cmd 进去控制台 2.登录mysql 数据库,命令:    mysql -u root -p root 3.打开use  mysql 表, 命令: use mysql ...

  4. ubuntu16.04服务器配置mysql,并开启远程连接

    ubuntu16.04mysql安装就不说了: 直接重点  这里我用的是阿里云的ecs服务器,ubuntu16.04系统 1授权用户,并允许远程登录; 默认的MySQL只有一个root账号,所以不妨先 ...

  5. 远程连接mysql拒绝访问_远程连接 Mysql 失败的解决方法

    原标题:远程连接 Mysql 失败的解决方法 今天在虚拟机Ubuntu上折腾了一晚上mysql,然后试着用java连接,搞了很久都没成功,但是同学配好的Debian上却连接成功了,也就是说我的配置有问 ...

  6. mysql用navicat无法远程连接,mysql 发现 navicat 可以远程连接,代码无法远程连接

    navicat可以远程连接, root账号也可以用代码连接. 其他的用户无法远程连接. 原因: 1.先检查下 mysql数据库里面 的 servers 表是否存在. 2.更新或者创建用户之后 使用:  ...

  7. java对mysql的简单操作的综合运用——登录+注册+修改密码

    本篇博客是java对mysql的简单操作的综合运用--登录系统.java对mysql的简单操作的综合运用--注册系统.java对mysql的简单操作的综合运用--修改密码系统的整合. 因为使用的是数据 ...

  8. mysql 本地连接_mysql开启远程连接及本地连接

    问题描述 在本机windows上连接linux服务器上的mysql报错:host'XXX' is not allowed to connect to this mysql server. 这个错误是由 ...

  9. 远程连接linux的mysql_【Linux开启mysql远程连接的设置步骤】 mysql开启远程连接

    相关热词搜索:Linux开启mysql远程连接的设置步骤,linux mysql 远程连接,linux连接mysql数据库, MySQL默认root用户只能本地访问,不能远程连接管理mysql数据库, ...

  10. 【php】基于php+mysql 简单的登录注册修改密码系统

    对于php和mysql的连接在许多blog上都有说明,为了将mysql中的查询,修改,插入等操作掌握,本文介绍了一下如何采用mysql做一个登录注册修改密码的网页. 其中, 1.登录-即为对数据库中的 ...

最新文章

  1. Python,OpenCV中的图像修复——cv2.inpaint()
  2. 小眼睛适合大框还是小框眼镜_北京潘家园眼镜城良心商家推荐
  3. Mac OS 安全性 任何来源
  4. oracle insert if语句怎么写,oracle存储过程的调用(insert 语句的存储过程)
  5. 取出响应头中包含多个set-cookie的值
  6. 一个资深老司机告诉你选车的秘密 (完全版)
  7. LeetCode 162. 寻找峰值
  8. Spring框架----用于创建对象的Component注解
  9. postgresql 删除触发器_postgresql 触发器
  10. C语言 NUL、NULL及eof
  11. matplotlib 28原则
  12. activemq中怎么知道推送消息是否成功_ActiveMQ入门
  13. web前端常用开发工具排行:8款html开发工具推荐下载
  14. 逻辑回归卡方拟合优度检验 r语言
  15. AC自动机(Automaton)
  16. 关于穿透冰点还原等还原软件的方法
  17. uniapp中回退到上一页面并触发函数的方法
  18. 联想服务器重装系统快捷键,联想电脑如何重装系统快捷键
  19. 关于子网划分、子网聚合(超网)的研究
  20. 信捷触摸屏通讯示例1

热门文章

  1. CSS 轻松实现‘毛玻璃’效果
  2. 高通处理器曝高危漏洞,波及全球超9亿部安卓设备
  3. perl chop和chomp函数区别
  4. C盘AppData文件占用83.7G?*(转载)
  5. linux上怎么截图,如何在Linux上使用Scrot截图
  6. 使用Python库pyqt5制作TXT阅读器(一)-------UI设计
  7. [蓝桥杯]各自刷油漆Python3满分解法
  8. pyh 修改addJS时默认的位置
  9. Linux操作系统6:文件系统及磁盘管理
  10. 【ybt高效进阶 21161】复杂问题(图论)(分类讨论)(MIM / Meet In Middle)