千家信息网

QT 5 配置MySQL 过程记录

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,配置过程记录一下,年纪大了记性很差……0 安装环境Win10x64+Qt5.5(x86)+VS2010(x86)1 安装MySQL注意:以下是按x64版本安装的,x86版本的安装流程没有区别。MySQ
千家信息网最后更新 2026年11月01日QT 5 配置MySQL 过程记录

配置过程记录一下,年纪大了记性很差……


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 /dC:/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,
-> 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
#include
#include
#include
#include
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 编程》(第二


版本 目录 配置 数据 成功 数据库 服务 运行 字符 字符集 密码 提示 测试 代码 文件 驱动 过程 接下来 内容 只有 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 耶加雪菲 互联网科技未来 未来的互联网科技 融势互联网科技 四川狮子座互联网科技 互联网科技咨询 中化能源互联网科技招聘 栖莱科技互联网股份有限公司 世界互联网科技公司市值排名 宜昌元轩互联网科技有限公司 未来五年的互联网科技 南通创西澳互联网科技有限公司 郑州欣桑互联网科技有限公司 互联网时代科技型公司的机会 银川新华互联网科技学校原画 互联网科技职业技能培训学校 求路客互联网科技电话 数字科技和互联网金融哪个好 互联网科技自媒体灵感 恒生科技互联网指数十大成分股 互联网高科技 南京欣网互联网络科技有限公司 唐信互联网科技 大连 互联网科技美容 互联网前沿科技 深圳卡尔迅互联网科技有限公司怎么样 广州千川互联网科技有限公司 产业互联网科技服务公司 新氧科技和美国互联网有关系吗 容联科技互联网电商
0