Windows 环境下使用 Qt 连接 MySQL

如果应用只需要连接远程数据库,那么本地不需要安装 MySQL,只需要找到 MySQL 提供的 libmysql.dll 和libmysqld.dll 两个动态连接库,把他们加入到 Qt安装目录\5.9\mingw53_32\bin\;默认 Qt 自带已编译好的 qsqlmysql.dll 和 qsqlmysqld.dll (文件路径为 Qt安装目录\5.9\mingw53_32\plugins\sqldrivers\ );两者如果配套就能成功地让 Qt 连接上 MySQL。

(我安装的Qt 版本是 Qt 5.9.0 mingw53_32,文章中提到的一些路径是我本机上的路径,需要进行适当修改)

一、测试 Qt 与 MySQL 是否能正常连接

假设 Qt安装目录\5.9\mingw53_32\bin\  下已加入了 libmysql.dll 和 libmysqld.dll,进行以下测试。

•新建 Qt Widgets Application,修改 main.cpp 的代码为:

 #include "mainwindow.h"
 #include <QApplication>
 #include <QtSql>
 #include <QDebug>

 int main(int argc, char *argv[])
 {
   QApplication a(argc, argv);
   MainWindow w;
   w.show();

   //建立连接
   QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
   db.setHostName("localhost");
   db.setPort(3306);
   db.setDatabaseName("mysql");
   db.setUserName("root");
   db.setPassword("yourPassword");   //设置数据库连接账号的密码
   bool ok = db.open();
   if(ok) qDebug()<<"OK";
   else qDebug()<<"False";

   return a.exec();
 }

•构建并运行项目,查看应用程序输出
如果输出 OK,那到此为止了,Qt 与 MySQL 连接正常;如果输出 False,不出意外是因为 libmysql.dll、libmysqld.dll 与 qsqlmysql.dll、qsqlmysqld.dll版本不匹配!需要对 qsqlmysql.dll、qsqlmysqld.dll 进行修改。

二、添加 MySQL 的libmysql.dll、libmysqld.dll

(注意:Qt msvc2015_64 可以使用32
位、64 位版本的 MySQL 文件,Qt mingw53_32 只能使用 32 位版本的MySQL 文件)
之前提到,如果应用只需要连接远程数据库,那么本地不需要安装 MySQL,而只需要用到 MySQL 提供的动态连接库 libmysql.dll 和 libmysqld.dll。那么如果不安装MySQL,怎么获取那两个动态链接库文件?可以这样做:
•从已安装了 MySQL 的机器上拷贝这两个文件。
•本地临时安装 MySQL,然后保留下需要的文件,卸载 MySQL。

安装 MySQL 可以去官网下载安装包,不过我不太喜欢这样做,因为现在 MySQL 的安装组件太多太杂,很多东西都是不必要。推荐去一些开源镜像站上下载对应版本,比如说 Tuna、USTC。临时安装 MySQL 之后先不急着卸载,后面编译 MySQL 驱动会用到。

三、重新编译 qsqlmysql.dll、qsqlmysqld.dll

编译 Qt 关于 MySQL 的驱动需要用到 Qt 的源码,获取 Qt 的源码可以使用 MaintenanceTool.exe 下载 Src,编译驱动用到的工程文件路径为 Qt安装目录\5.9\Src\qtbase\src\plugins\sqldrivers\mysql\ 。源码差不多有2G的大小,而编译驱动需要用到的工程文件大约几十M,要是存储空间和网速不给力,建议只下载
qtbase-opensource-src-5.9.0.zip,需要的工程在 qtbase-opensource-src-5.9.0\src\plugins\sqldrivers\mysql\ 。

用 Qt 打开上面提到的编译驱动用到的工程文件,在 mysql.pro 末尾加上这两句:
INCLUDEPATH += mysql安装目录\include
LIBS += -Lmysql安装目录\lib\ -llibmysql

构建并运行项目会在 C 盘下生成 plugins\sqldrivers 目录,里面包含 qsqlmysql.dll、qsqlmysqld.dll 两个文件,将它们复制一份覆盖原先的两个文件即可。再次进行 Qt 与 MySQL 的连接测试,成功了没有?

(0)

相关推荐

  • python中MySQLdb模块用法实例

    本文实例讲述了python中MySQLdb模块用法.分享给大家供大家参考.具体用法分析如下: MySQLdb其实有点像php或asp中连接数据库的一个模式了,只是MySQLdb是针对mysql连接了接口,我们可以在python中连接MySQLdb来实现数据的各种操作. python连接mysql的方案有oursql.PyMySQL. myconnpy.MySQL Connector 等,不过本篇要说的确是另外一个类库MySQLdb,MySQLdb 是用于Python链接Mysql数据库的接口,它

  • Python下的Mysql模块MySQLdb安装详解

    默认情况下,MySQLdb包是没有安装的,不信? 看到类似下面的代码你就信了. 复制代码 代码如下: -bash-3.2# /usr/local/python2.7.3/bin/python get_cnblogs_news.py Traceback (most recent call last):  File "get_cnblogs_news.py", line 9, in <module>    import MySQLdbImportError: No module

  • Python操作Mysql实例代码教程在线版(查询手册)

    实例1.取得MYSQL的版本在windows环境下安装mysql模块用于python开发 MySQL-python Windows下EXE安装文件下载 复制代码 代码如下: # -*- coding: UTF-8 -*- #安装MYSQL DB for pythonimport MySQLdb as mdb con = None try:    #连接mysql的方法:connect('ip','user','password','dbname')    con = mdb.connect('l

  • ubuntu linux下使用Qt连接MySQL数据库的方法

    环境说明: ubuntu 10.04.2 QtSDK (1.5G安装包的那个) mysql5.1 1.安装MySQL Linux下完整的MySQL开发需要安装服务器端,如果安装客户端也没什么不好.直接在软件中心搜mysql,把client和server选上. server在安装时会提示为root用户设置密码,设一个好了. 我使用的是mysql5.1版本,用户名密码存储在一个叫mysql的数据库里,只有管理员级别才能看到. 如果直接在终端中输入 mysql,可能会提示ERROR 1045 (280

  • python Django连接MySQL数据库做增删改查

    1.下载安装MySQLdb类库http://www.djangoproject.com/r/python-mysql/2.修改settings.py 配置数据属性 复制代码 代码如下: DATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.        'NAME': 'djang

  • Python操作MySQL数据库9个实用实例

    在Windows平台上安装mysql模块用于Python开发 用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示.下边是打包了32与64版本. MySQL-python-1.2.3.win32-py2.7.exe MySQL-python-1.2.3.win-amd64-py2.7.exe 实例 1.取得 MYSQL 的版本 # -*- coding: UTF-8 -*- #安装 MYSQL DB for python import MySQLdb as mdb con

  • Windows 环境下使用 Qt 连接 MySQL

    如果应用只需要连接远程数据库,那么本地不需要安装 MySQL,只需要找到 MySQL 提供的 libmysql.dll 和libmysqld.dll 两个动态连接库,把他们加入到 Qt安装目录\5.9\mingw53_32\bin\:默认 Qt 自带已编译好的 qsqlmysql.dll 和 qsqlmysqld.dll (文件路径为 Qt安装目录\5.9\mingw53_32\plugins\sqldrivers\ ):两者如果配套就能成功地让 Qt 连接上 MySQL. (我安装的Qt 版本

  • windows环境下mysql数据库的主从同步备份步骤(单向同步)

    windows下mysql双向同步备份实现方法以下的文章主要讲述的是在windows环境下实现MySQL数据库的主从同步备份的正确操作方案,我在一些相关的网站看见关于windows环境下实现MySQL数据库的主从同步备份的操作步骤描述,但是很少有对其成功操作到底的,所以拿出此篇较为完整的方案与大家一起分享. 以下配置在本机上已经成功: 实现功能:A为主服务器,B为从服务器,初始状态时,A和B中的数据信息相同,当A中的数据发生变化时,B也跟着发生相应的变化,使得A和B的数据信息同步,达到备份的目的

  • 在Windows环境下使用MySQL:实现自动定时备份

    一.编写备份脚本 rem auther:www.yumi-info.com rem date:20171222 rem ******MySQL backup start******** @echo off forfiles /p "E:\mysql\MySQL BackUp" /m backup_*.sql -d -30 /c "cmd /c del /f @path" set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0

  • 在Windows环境下安装MySQL 的教程图解

    摘要:本文主要说明了如何下Windows环境下安装MySQL. 查看电脑上是否安装了MySQL 打开cmd窗口,输入services.msc命令,等待服务界面打开: 如果能在服务中找到MySQL服务,则说明系统已经安装了MySQL: 下载并安装下载 推荐去官网上下载,在官网上可以选择自己需要的版本,官网上的下载页面为: https://dev.mysql.com/downloads/mysql/ 这个页面默认显示的是最新的下载版本,如果需要获取以前的版本,只需要点击右侧的链接即可,也就是图中红框

  • Windows环境下MySQL 8.0 的安装、配置与卸载

    软件版本 Windows:Windows10 MySQL:mysql-8.0.17-winx64.zip 安装步骤 1.配置环境变量 name:Path value:C:\Program Files\MySQL\mysql-8.0.17-winx64\bin 2.新建my.ini文件 文件位置:C:\Program Files\MySQL\mysql-8.0.17-winx64\my.ini (这是我的安装目录,你们根据自己实际安装的路径修改) [mysqld] # 端口号(默认:3306) p

  • window环境下使用VScode连接虚拟机MySQL方法

    一.虚拟机端 1.找到mysql的配置文件 :sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 按"i"键进入编辑模式,找到以下项,将地址修改为"0.0.0.0" 重新启动mysql服务 :sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 2.连接MySQL :mysql -uroot -hlocalhost -p 输入代码回车,提示输入数据库密码 3.对用户进行授权 >>gra

  • 详解在Windows环境下访问linux虚拟机中MySQL数据库

    Linux虚拟机:VMware +ubuntu16.04.4 windows本机:Navicat for MySQL 1.虚拟机中下载安装MySQL VMware下载安装和ubuntu16.04.4下载安装,请自行百度查询,本文默认这些已经安装好了. 在虚拟机中Ctrl+Alt+T打开一个终端,输入命令 sudo apt-get install mysql-server mysql-client ,然后按照提示输入. 等待安装完成,可以输入命令:whereis mysql 查看mysql的安装位

  • windows环境下mysql的解压安装及备份和还原

    系统环境为server2012 1.下载mysql解压版,解压安装包到指定目录 2.在以上目录中,复制一份my-default.ini文件,重命名为my.ini,进行如下修改(按照需要): [mysqld] # 服务端的编码方式 character_set_server=utf8 # These are commonly set, remove the # and set as required. #数据文件存放目录 basedir = C:\Program Files\mysql #数据文件存

  • windows 环境下 MySQL 8.0.13 免安装版配置教程

    目录 下载压缩包 地址 https://dev.mysql.com/downloads/mysql/ 解压zip文件,创建 my.ini 文件 解压后目录: basedir=D:\mysql-8.0.13-winx64 数据目录: datadir=D:\mysql-8.0.13-winx64\data 创建 my.ini 文件,文件内容如下 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] # 设置3306端口 port=

随机推荐