QT无法连接MYSQL(显示QMYSQL diver not loaded)的解决方案

遇到的问题:qt无法连接sql,QMYSQL diver not loaded
原因:sql是64位,而qt是32位
解决方法:

  1. 彻底删除之前的mysql,重新下载sql,下载地址https://dev.mysql.com/downloads/mysql/5.7.html#downloads,选择32位的

  2. 解压,我选择的地址是D:\MySQL,完成后路径是D:\MySQL\mysql-5.7.30-win32

  3. 配置Path环境变量,不知道的话,上网查一下怎么找。有两步:1)新增变量:变量名MYSQL_HOME,变量值:D:\MySQL\mysql-5.7.30-win32 2)在Path变量里添加路径:%MYSQL_HOME%\bin

  4. 配置文件:打开D:\MySQL\mysql-5.7.30-win32,首先在这里创建data文件,其次在这里创建my.ini文件。完成后,如下所示:
    QT无法连接MYSQL(显示QMYSQL diver not loaded)的解决方案

  5. 打开my.ini文件,将下方文字复制上去:(不知道为什么复制到这里之后格式都变了,所以我在下边放了my.ini文件里具体有什么以便参考)
    [mysql]

设置mysql客户端默认字符集

default-character-set=utf8

数据库服务端配置项

[mysqld]
skip-grant-tables
explicit_defaults_for_timestamp=true

设置3306端口

port = 3306

设置MYSQL的安装目录

basedir= D:\MySQL\mysql-5.7.30-win32

设置MYSQL数据库的数据的存放目录

datadir=D:\MySQL\mysql-5.7.30-win32\data

允许最大连接数

max_connections=200

服务端使用的字符集设置为utf8

character-set-server=utf8

创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

QT无法连接MYSQL(显示QMYSQL diver not loaded)的解决方案
6. 以管理员身份运行cmd
7. 输入 mysqld install ,应该显示success
8. 输入 mysqld --initialize
9. 输入 net start mysql
10. 找密码: 密码位于data文件的.err文件中,耐心点找,含有密码的字段是 A temporary password is generated for [email protected]:
11. 找到密码之后,再到cmd中输入 mysql -u -root -p,将密码输上去。
12. 改密码:输完密码之后,回车,输入 set password for [email protected] = password(‘你的密码’); 回车
13. 用navicat 看看能不能连,能连的话就配置好了
以上是装32位mysql的过程,下面对qt操作

  1. 找到libmysql.dll文件,路径如下,复制
    QT无法连接MYSQL(显示QMYSQL diver not loaded)的解决方案

  2. 粘贴到F:\QT\5.9\mingw53_32\bin路径下,这是qt的安装路径,盘和名可能不一样,但是无所谓。
    QT无法连接MYSQL(显示QMYSQL diver not loaded)的解决方案
    到此为止,配置完成了,之后就可以在qt中连接sql了,至于语法是什么,百度上有很多。

声明:大体来源于https://www.cnblogs.com/lifexy/p/10938382.html,但完全按照这篇文章安装还会有一些问题,无法启动sql,所以我在此基础上加以改进。大家不妨去给博主点个赞,他写的很详细,大体写得很好,要不是他的文章我可能还在连接问题上卡着呢。