qt5.6无法连接mysql数据库_QT5.5与MYSQL5.6数据库连接的具体方法与实现和安装时write configuration file无法通过及无法加载MySQL驱动...

本文详细介绍了如何在Windows 32位环境下,使用QT5.5连接MySQL5.6数据库,包括QT和MySQL的下载、安装、设置环境变量、数据库连接以及解决"Driver not loaded"的问题。提供了相关资源下载链接和密码修改方法。
摘要由CSDN通过智能技术生成

目录

1、QT5.5下载

2、MYSQL5.6下载

3、MYSQL5.6安装

4、MYSQL登陆与修改密码

5、建立QT程序

注意:如果运行Qt时提示"Driver not loaded Driver not loaded"

由于最近工作需要用到QT读取数据库中的数据,并将数据保存至数据库中。花了一天的时间,总算实现了从QT中读取数据库中的数据。网上相关资料很多,但是写得不是很全,中间出现了一些问题,解决起来比较麻烦。所以本文从MYSQL下载、安装,QT连接MYSQL尽可能写详细,若有不足,还请见谅。本例为32位Qt和32位MySQL

1、QT5.5下载

本文使用的 windows32 QT5.5 版本为(qt-opensource-windows-x86-mingw492-5.5.10),可从百度云:https://pan.baidu.com/s/1XsVmgd3Qd-J0BHPVOtMVkA下载

若选用高版本,具体安装方法可自行百度。

2、MYSQL5.6下载

由于QT选用的Windows32位,所以MYSQL也应选择Windows32位版本为mysql-5.6.39-win32.zip。(若QT选择的为Windows64位,则MYSQL应选择Windows64位),

可从百度云:https://pan.baidu.com/s/1XsVmgd3Qd-J0BHPVOtMVkA下载。

若选用高版本,具体下载方法可自行百度。

3、MYSQL5.6安装

1)将mysql-5.6.39-win32.zip解压至D盘中的MYSQL SERVER,且重命名为mysql-5.6。解压修改后的结果如图1-1所示。

eaee22e4037a5b3e4f0618c787c5633e.png

图1-1

2)修改my-default.ini,修改后如图1-2所示

e5c66d9d590d0a1283d8fd4ae1ac7c14.png

图1-2

3)增加环境变量。右键我的电脑,点属性,点高级系统设置,点环境变量,在PATH中添加 ;D:\MYSQL SERVER\mysql-5.6\bin(分号不要忘了,根据自己的安装目录改写),点击确认就行。

4)在C盘中找到cmd.exe,并以管理员权限打开。分别执行以下指令:

d:

cd  MYSQL SERVER\mysql-5.6\bin

mysqld -initalize -user=mysql -console

mysqld -install,输入该指令后会打印 Service successfully installed

net start mysql,输入该指令后会打印MySQL服务已经启动成功。至此MYSQL5.6已经安装成功,并且已运行。

4、MYSQL登陆与修改密码

1)在cmd.exe软件中,继续输入SQL相关指令:

mysql -u root -p,输入该指令后出现 Enter password:  ,第一次登陆直接回车,进入mysql软件。如图1-3

1126eabd03f00ad21c7875c851c8aa53.png

图1-3

2)增加root的密码。

mysql> set password for root@localhost=password('88888888');

输入该指令后ront 的密码变为88888888。(在编写QT程序中需要用到用户名为root和密码为88888888)

mysql>exit

输入该指令后退出。

重新登陆,输入 mysql -u root -p,输入该指令后出现 Enter password: ,输入88888888。若输入密码不是88888888,则会出现报错,如图1-4所示

73c557dbcb8b64f9715d64576c67bc34.png

图1-4

3)添加测试表,在test库中添加student表,并添加一些数据。具体操作如图1-5所示,至此MYSQL部分已经全部完成。(注意是在test库中添加,对应QT应选择test;

954db0200fadd11f4f095767237f335f.png

图1-5

5、建立QT程序

1)将mysql-5.6文件lib目录下的libmysql.dll和libmysqld.dll复制到Qt5.5中的mingw493_32的bin文件下。如图1-6所示;a1a34e9af1453d6674f90729a554bb9f.png

图1-6

2)新建项目,选择QT Console Application。命名项目名为sql_test;

在sql_test.pro文件中添加 QT +=sql

main.cpp改为

#include #include #include #include #include void connect_mysql()

{

QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");

db.setHostName("127.0.0.1"); //连接数据库主机名,这里需要注意(若填的为”127.0.0.1“,出现不能连接,则改为localhost)

db.setPort(3306); //连接数据库端口号,与设置一致

db.setDatabaseName("test"); //连接数据库名,与设置一致

db.setUserName("root"); //数据库用户名,与设置一致

db.setPassword("88888888"); //数据库密码,与设置一致

db.open();

if(!db.open())

{

qDebug()<

3)测试结果

b755805691ab89a6210b4439c62d879a.png

图1-7

结果表明,QT已经成功读取MYSQL中的student表。

转载链接为:https://www.cnblogs.com/xtu-wlf1212/p/8764015.html

修改密码

在 Navicat for MySQL 下面直接执行  SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 就可以

方法1: 用SET PASSWORD命令

mysql -u root

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

方法2:用mysqladmin

mysqladmin -u root password "newpass"

如果root已经设置过密码,采用如下方法

mysqladmin -u root password oldpass "newpass"

方法3: 用UPDATE直接编辑user表

mysql -u root

mysql> use mysql;

mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

mysql> FLUSH PRIVILEGES;

在丢失root密码的时候,可以这样

mysqld_safe --skip-grant-tables&

mysql -u root mysql

mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';

mysql> FLUSH PRIVILEGES;

安装mysql后执行配置,write configuration file时无法通过,报错:

Configuration file tmeplate

%mysql安装目录%\my-template.ini could not be processed and written to

%mysql安装目录%\my.ini.Error code-1.

原因是没权限!!! 但是单纯的在属性-安全中增加管理员对两个ini文件的写入权限无法解决。

解决方法:win 7 或 server2008 下,找到mysql安装目录下的bin\MySQLInstanceConfig.exe,右键-属性-兼容性 设置兼容 "系统的版本",并勾选  以管理员身份运行  解决!!!

注意:如果运行Qt时提示"Driver not loaded Driver not loaded"

方法一:

下载一个32位的 libmysql.dll和libmysql.lib 放入Qt安装盘:\Qt\Qt5.5.1\5.5\mingw492_32\bin 中成功解决。

链接: https://pan.baidu.com/s/1T3k6rX4KJnfIFxU53KRSJw 提取码: 8159

方法二:

在windows下开发QT连接数据库时遇到这个问题,之前解决过一次但是换了台机子又忘记了,这次码下来。

下载mysql的支持包

地址:https://dev.mysql.com/downloads/connector/c/

记得QT是多少位的,就下载多少位的。

下载过来安装完成后,在C盘的Program Files (x86) 如果是64位的就是Program Files 文件夹中会多出一个mysql的文件,进入到lib里,将libmysql.dll 和libmysql.lib 复制到QT的bin里,然后重启编辑器就行了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值