QT5.9.4-32位连接MySQL8.0.26-64位的方法

我配置了一天,差点就卸载重装了。网上各种教程太杂了,乱七八糟的,最后稀里糊涂摸索出来了。
参考了以下两篇文章
https://blog.csdn.net/studyhardi/article/details/104749851
看了这篇文章,重新更新了密码和配置文件,很受启发,但是并没有解决我的需求。
https://blog.csdn.net/hsh10000000/article/details/72810018
看完这篇文章后,我把connector里的libmysql.dll粘贴进QT的bin里后,奇迹般的成功了!!!

建议读者先去试一下第二篇文章的方法,先去MYSQL官网下载connector,下载 C版本的【https://dev.mysql.com/downloads/c-api/】
下载完后在文件夹中打开它
在这个connector C的lib文件夹里存在libmysql.dll,复制一下。
在这里插入图片描述
进入QT的安装目录,在mingw的bin目录下粘贴进去
在这里插入图片描述
至此,这个方法结束。打开任务管理器,重启MYSQL服务。
在这里插入图片描述
然后就结束了。接下来测试QT上是否能连起来。
代码如下
.pro里插入

QT += core gui sql
QT += sql

主程序里加入

qDebug()<<QSqlDatabase::drivers();

       //添加MySQL数据库
       QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL","conn2");
       //连接数据库
       db.setHostName("127.0.0.1"); //数据库服务器IP,127.0.0.1表示本机
       db.setUserName("root");  //数据库用户名
       db.setPassword("xxxx"); //“你的密码”是自己登录mysql的密码
       db.setDatabaseName("xx"); //数据库名字

       //打开数据库
       if( !db.open())
       {
    
    
           QMessageBox::warning(this, "打开失败",db.lastError().text());
           return;
       }
       else
       {
    
    
          qDebug()<<"连接成功!!!";
           return;
       }

然后运行一下,如果成功,会出现
在这里插入图片描述
不成功会出现弹窗。

如果以上方法失败了,不要灰心!!试一下我看的第一篇文章的方法,这篇文章在细节处并没有详细地写,我在这里给大家提点醒。
1.需要打开你的MySQL8.0 Command Line Client,在这里输入命令
2.输入select user命令前需要show databases;use mysql。这个方法参考https://blog.csdn.net/qq_43116788/article/details/84146918
在这里插入图片描述
3.alter user ‘root‘@’localhost’identified with mysql_native_password by ‘新密码’;会报错
这个指令不可用,应改为ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
在这里插入图片描述
此方法参考https://blog.csdn.net/soderayer/article/details/115867758

4.my.ini可能找不到,它也许在program data文件夹里。
在这里插入图片描述
5.my.ini保存不了,只能另存。因为用户权限没开。在属性里把权限都开了。属性->安全->编辑->USERS
在这里插入图片描述
至此,第一篇文章的方法结束了,测试一下是否可用。若不可用,在第一篇文章的操作上跟上第二篇文章的方法,我就是按这个顺序配置成功的。
祝大家都能顺利配置完成!!

猜你喜欢

转载自blog.csdn.net/admiumiu/article/details/120701097