QT(5.14.2/5.14.1/5.15) 安装mysql驱动详细流程

基本按照这个兄弟来就可以:

https://blog.csdn.net/sazass/article/details/113553323

看不到的我也截图了:


火狐截图_2021-12-28T12-20-13.438Z.rar


有一些说明:

1、阿里云是5.x版本,但是我们还是选最新的8.x版本dll,这是不行的,要版本一致!!!向下是不兼容的!!!!

2、libmysql.dll要拷贝到qt版本的bin,不是qtcreator的bin,当然,发布时最好都拷贝过去

3、之所以需要libmysql.dll,是因为qsqlmysql.dll调用了libmysql.dll,所以如果bin目录没有libmysql.dll是无法加载插件 qsqlmysql.dll的

4、需要注意插件qsqlmysql.dll,哪个编译器编出来就拷贝到对应的目录,32bit和64bit不能混用,mingw不能和vc混用!!!

5、官网下载的是100~200MB的 mysql-serverxxx 文件,解压后就有lib include,也可以下载老版本的 mysql-connector-c 版本,但是最新的 mysql-connector-c++ 8.x是不能用于编译的,一定要 server 版本里面的文件,他才包含 lib include 那些东西。至于 connector-c++ 这些怎么用,还望大家指点!


直接给你们提供6.x的c版本和8.x的版本:


mysql-server-8.0.26.rar

mysql-connector-c-6.1.10-winx64.rar


报:QSqlDatabase: QMYSQL driver not loaded 的解决方法:


首先,qsqlmysql.dll 是依赖 libmysql.dll的,但是不要以为 libmysql.dll 拷贝到bin目录就完事了,用Dependencies.exe打开,发现他还依赖2个dll:


libcrypto-1_1-x64.dll,libssl-1_1-x64.dll


到qtcreator目录(C:\Qt\Qt5.14.1\Tools\qtcreator-4.11.1-x64\bin)一看,正好这2个也在,于是把这2个dll拷贝到 qt版本的bin目录(C:\Qt\Qt5.14.1\5.14.1\msvc2017_64\bin),跟 libmysql.dll一起。


再启动就不会报这个错误了。


报:QSqlError("2027", "QMYSQL: Unable to connect", "Malformed packet")

或者报:QSqlError("1043", "QMYSQL: Unable to connect", "Bad handshake")

都是版本不一致导致的。


也就是说,8.0的客户端,不要连5.x 6.x版本的服务器!

我犯的错误就是,用6.x 8.x的dll,去连接阿里云的5.1.48版本,结果就出来一堆莫名其妙问题!

再次声明,客户端、服务器端版本要一致!!!


再给你5.x版本(旧版本不需依赖 libcrypto-1_1-x64.dll,libssl-1_1-x64.dll):


mysql-5.1.48-winx64.rar


本文为3YL原创,转载无需联系,但请注明来自labisart.com。

原创文章不易,如果觉得有帮助,可打赏或点击右侧广告支持:

查看打赏记录

发表评论请遵守党国法律!后台审核后方可显示!
  • 最新评论
  • 总共0条评论
  • Blog v1.1© 2024 labisart.com 版权所有 | 联系:labartwork@163.com