Qt5.5+MySQL5.7
2017-01-16 15:01
183 查看
配置过程记录一下,年纪大了记性很差……
以下是按x64版本安装的,x86版本的安装流程没有区别。
MySQL安装的版本应该与Qt的版本相对应,切记!切记!
选择 mysql-5.7.14-winx64.zip下载
注意:不要在安装目录中保留空格
内容修改如下:
(2)以管理员身份运行命令提示符cmd
(3)切换目录 cd /d C:\MySQL\mysql-5.7.14-winx64\bin
(4)执行安装 mysqld --install
(5)初始化 mysqld --initialize --console
初始化成功会给root帐号设置一个临时的密码,一定记住这个密码
初始化成功之后会在datadir创建data目录
注意:不要提前创建data目录,可能会造成安装失败
(7)启动服务 net start mysql
服务启动成功会给出提示
没有成功的话,用 mysqld --remove卸载之后再试一下
如果是重新安装MySQL,先停止正常运行的服务 net stop mysql
再卸载 mysqld --remove
(8)首次登录并修改密码 mysqladmin -u root -p password
(9)登录 mysql -u root -p
显示下内建的数据库
(10)设置测试用数据库
查询一下
数据库准备好了, 接下来配置Qt
注意:Qt5.5+VS的版本只有x86的,没有x64的
(这个说起来好痛……前面的MySQL最开始全是按x64的版本安装配置的,后来折腾了很久才在知乎上看到大神留言说有可能是x86和x64的问题,恍然!!)
测试错误提示:
执行createConnection()时,显示“Driver not loaded Driver not loaded”
libmysql.dll
libmysql.lib
libmysqld.dll
libmysqld.lib
这四个文件复制到 C:\Qt\Qt5.5.0\5.5\msvc2010\bin
重新运行上面的代码
运行成功!
[2] Qt之编译MySQL数据库驱动(MSVC)
[3] QT5 无法加载MYSQL驱动?
[4] MySQL 教程
[5] 《C++ GUI Qt4 编程》(第二版)
0 安装环境
Win10x64+Qt5.5(x86)+VS2010(x86)1 安装MySQL
注意:以下是按x64版本安装的,x86版本的安装流程没有区别。
MySQL安装的版本应该与Qt的版本相对应,切记!切记!
1.1 下载
http://dev.mysql.com/downloads/mysql/选择 mysql-5.7.14-winx64.zip下载
1.2 解压
解压缩文件到安装目录注意:不要在安装目录中保留空格
1.3 配置
(1)将my-default.ini重命名为my.ini内容修改如下:
[client] port=3306 default-character-set=utf8 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=C:\MySQL\mysql-5.7.14-winx64 # 设置mysql数据库的数据的存放目录 datadir=C:\MySQL\mysql-5.7.14-winx64\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [WinMySQLAdmin] C:\MySQL\mysql-5.7.14-winx64\bin\mysqld.exe
(2)以管理员身份运行命令提示符cmd
(3)切换目录 cd /d C:\MySQL\mysql-5.7.14-winx64\bin
(4)执行安装 mysqld --install
(5)初始化 mysqld --initialize --console
初始化成功会给root帐号设置一个临时的密码,一定记住这个密码
初始化成功之后会在datadir创建data目录
注意:不要提前创建data目录,可能会造成安装失败
(7)启动服务 net start mysql
服务启动成功会给出提示
没有成功的话,用 mysqld --remove卸载之后再试一下
如果是重新安装MySQL,先停止正常运行的服务 net stop mysql
再卸载 mysqld --remove
(8)首次登录并修改密码 mysqladmin -u root -p password
(9)登录 mysql -u root -p
显示下内建的数据库
(10)设置测试用数据库
create database bz; use bz; create table user(userid INT NOT NULL AUTO_INCREMENT, -> username VARCHAR(256) NOT NULL, -> userpassword VARCHAR(256) NOT NULL, 7fe0 -> useremail VARCHAR(256) DEFAULT NULL, -> usermobile VARCHAR(32) DEFAULT NULL, -> PRIMARY KEY(userid)); insert into user (username, userpassword) values ("Apple","p1"); insert into user (username, userpassword) values ("Bob","p2"); insert into user (username, userpassword) values ("Cat","p3"); insert into user (username, userpassword) values ("Dog","p4");
查询一下
数据库准备好了, 接下来配置Qt
2 配置Qt5.5
2.0 Qt版本
这里可以下载到各个版本的Qt http://download.qt.io/archive/qt/注意:Qt5.5+VS的版本只有x86的,没有x64的
(这个说起来好痛……前面的MySQL最开始全是按x64的版本安装配置的,后来折腾了很久才在知乎上看到大神留言说有可能是x86和x64的问题,恍然!!)
2.1 测试代码
#include <QCoreApplication> #include <QtDebug> #include <QSqlDatabase> #include <QSqlQuery> #include <QSqlError> bool createConnection(); void queryDatabase(); void availableDrivers(); int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); availableDrivers(); if (!createConnection()) return 1; queryDatabase(); return a.exec(); } void availableDrivers() { qDebug() << "Available drivers:"; QStringList drivers = QSqlDatabase::drivers(); foreach(QString driver, drivers) qDebug() << "\t" << driver; } bool createConnection() { QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); db.setPort(3306); db.setDatabaseName("bz"); db.setUserName("root"); db.setPassword("Qwert!2345"); if (!db.open()) { qDebug() << "\r\n\r\ncreateConnection " << db.lastError().text(); return false; } else { qDebug() << "\r\n\r\ncreateConnection " << "OK"; return true; } } void queryDatabase() { QSqlQuery query; if (query.exec("SELECT * FROM user")) { qDebug() << "all users in table bz:"; while (query.next()) qDebug() << query.value("username").toString(); } }
测试错误提示:
执行createConnection()时,显示“Driver not loaded Driver not loaded”
2.2 修改配置
将 C:\MySQL\mysql-5.7.14-win32\lib 目录下libmysql.dll
libmysql.lib
libmysqld.dll
libmysqld.lib
这四个文件复制到 C:\Qt\Qt5.5.0\5.5\msvc2010\bin
重新运行上面的代码
运行成功!
参考
[1] Qt 访问 MySQL[2] Qt之编译MySQL数据库驱动(MSVC)
[3] QT5 无法加载MYSQL驱动?
[4] MySQL 教程
[5] 《C++ GUI Qt4 编程》(第二版)
相关文章推荐
- QT5.5与VS2013在64位环境下集成
- QT5.5+VS2010配置心得
- QT5.5或QT5.6与echarts实现动态图表
- vs2013中配置qt5.5和opencv2.4.9经验杂谈
- 编译Qt5.0连接MySql5.5数据库的驱动(5.0版本的编译,我记得5.2开始自带了)
- 永久修改MySQL字符集(适用Mysql5.5、Mysql5.6、Mysql5.7以上)
- qt5.5显示中文
- 编译OpenCV(CMake+Mingw492_32(Qt5.5自带)+OpenCV3.0)
- Qt5.6连接MySQL5.7出错
- Qt5.5连接MySQL
- linux系统Qt调用opencv的编译过程(ubuntu14.04 kylin+qt5.5+opencv2.4.10)
- Qt5.5 QFileDialog类的使用方法
- QT5.5 vs2013 更改窗口icon图标
- Qt5.5 SDL2.0 鼠标事件,键盘事件,BMP图片加载
- 使用VC++编译器静态编译Qt5.5
- QT5.5移植到ARM全攻略
- qt5.5 windows
- linux 公社的网友出品的 Qt5.5 安装脚本,copy过来了
- tdm在win7 x64下静态编译 QT5.5 64bit版本问题1
- Win7下Qt 5.4/5.5版本 编译MYSQL驱动 undefined reference to 'mysql_'