Qt5.6.1与mysql5.7.14调试过程

1.开发环境

win7+Qt5.6.1+mysql5.7.14

2.安装mysql

由于本人安装的是win7 32位的Qt5.6.1编译器为mingw 只在Qt官网看到了32位的版本,所以mysql也选择了mysql5.7.14 32位版本。


安装:

(1)下载免安装版本http://dev.mysql.com/downloads/mysql/    即zip压缩文件

(2)设置环境变量http://jingyan.baidu.com/article/e4d08ffdd5f6670fd2f60d2f.html(参考)

          将mysql解压到D盘根目录(目录随意,设置环境变量时输入正确即可)

                 点我的电脑,右键属性,高级设置,环境变量,新建MYSQL_HOME,输入mysql所在目录,再在path中加入

选中系统变量中的“path”,在path值开头处输入:

;%MYSQL_HOME%\bin确认即可

如下几个图


(3)安装,参考文章:http://jingyan.baidu.com/article/8cdccae946133f315513cd6a.html


在上一步上添加了环境变量,这里要进行配置工作

双击D:\mysql-5.7.14-win32下的my-default文件

修改如下

打开命令行终端cmd(注意需以右键方式,管理身份打开)



分别安顺序执行以下几个命令:

初始化数据库:mysqld --initialize --user=mysql --console得到初始化密码(最下一行)


将MySQL添加到系统服务

mysqld --install MySQL

net start MySQL


启动MySQL并修改密码

       在CMD控制台里执行命令  mysql -u root -p 

回车执行后,输入刚才记录的随机密码

执行成功后,控制台显示 mysql>,则表示进入mysql

输入命令set password for root@localhost = password('123'); (注意分号)

此时root用户的密码修改为123


3.Qt程序测试

建立Qt例程,测试代码如下(记得在.pro文件中加入QT += sql)

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtSql>
#include <QSqlDatabase>
 
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
 
    qDebug() << "Available drivers:";
             QStringList drivers = QSqlDatabase::drivers();
             foreach(QString driver, drivers)
                 qDebug() << "\t "<< driver;
          qDebug() << "End";
          QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
          db.setPort(3306);
          db.setHostName("localhost");//mysql在本地,赶写这个那可
          db.setDatabaseName("mysql");//mysql这个database在数据中自带了一个,之后
          db.setUserName("root");//这个user name和password要和上文中设置的一置
          db.setPassword("123");
 
          if(!db.open()){
             qDebug()<<db.lastError();
          }
          else{
              qDebug() << "\nConnected " << "OK";
          }
}
运行程序发现报错


网上查找方法,只需将D:\mysql-5.7.14-win32\lib下的libmysql.dl文件放入C:\Windows下或者放入D:\Qt\Qt5.6.1\5.6\mingw49_32\bin(Qt编译器的bin文件夹)

可入运行。

网上有的说需要重新编译qt的mysql驱动文件(参考:http://blog.csdn.net/m15814478834/article/details/49902077)

4.总结

Qt和mysql的调试花了一天多的时间,问题主要出现在Qt测试程序无正常open一个database,之前用sqlite如果数据库不存在就自己建立了一个,但是在mysql中,似乎不好可以。(数据库基本没怎么用过,所以不太了解)。最后直接按照例程中打开名为"mysql"的数据库才测试成功。用navicat可视化工具建表。




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值