Qt连接mysql

安装配置mysql

1.下载

官网下载地址:mysql下载
有安装程序和压缩包,这里以压缩包为例。

2.解压

3.在解压出的文件夹根目录创建my.ini配置文件

配置以下信息:

[mysqld]
#设置3306端口
port=3306
#设置mysql的安装目录
basedir="D:\mysql-8.0.30-winx64\mysql-8.0.30-winx64"
#设置mysql数据库的数据的存放目录
datadir="D:\mysql-8.0.30-winx64\mysql-8.0.30-winx64\Data"
#允许最大连接数
max_connections=200
#允许连接失败的次数。
max_connect_errors=10
#服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
#设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

4.以管理员身份打开cmd,切换到bin目录

依次运行

C:\Users\mja>d:

D:\>cd /dD:\mysql-8.0.30-winx64\mysql-8.0.30-winx64\bin

D:\mysql-8.0.30-winx64\mysql-8.0.30-winx64\bin>

mysqld install

mysqld --initialize-insecure 

net start mysql

5.登录mysql

在cmd窗口输入

mysql -u root -p
//输入密码:
Enter password:*******
//创建数据库,注意要带分号结尾
mysql> create database news;
//创建用户,news:用户名; 39.15.16.14:host;可以配置为'%',表示所有的IP地址都可以访问; 123news:密码
mysql> create user 'news'@'39.15.16.14' identified by '123news';
//授权用户,news:用户名; 39.15.16.14:host;可以配置为'%',表示所有的IP地址都可以访问
mysql> grant all privileges on news.* to 'news'@'39.15.16.14';
//刷新权限
mysql> flush privileges;

6.可使用navicat等工具进行可视化表创建和其他操作

编译mysql驱动

MySQL版本:8.0.30 64bit
Qt:5.14.1 Mingw64

1.编译驱动

打开工程D:\Qt\5.14.1\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro
选用的套件位数应对应数据库版本,这里用MingW_64
注释掉QMAKE_USE += mysql
最下方添加三行:地址为对应的mysql路径,注意"/"的方向
INCLUDEPATH += “D:/mysql-8.0.30-winx64/mysql-8.0.30-winx64/include”
LIBS += “D:/mysql-8.0.30-winx64/mysql-8.0.30-winx64/lib/libmysql.lib”
DESTDIR = …/mysql/lib/
最后一行只是指定输出路径,非必要步骤。

完成后先执行qmake,再执行build
将输出目录里的三个文件:libqsqlmysql.a、qsqlmysql.dll、qsqlmysql.dll.debug放到
D:\Qt\5.14.1\mingw73_64\plugins\sqldrivers目录里

再将mysql目录下D:\mysql-8.0.30-winx64\mysql-8.0.30-winx64\lib里的两个文件:
libmysql.dll、libmysql.lib放进D:\Qt\5.14.1\mingw73_64\bin目录下。

2.在工程中使用

qDebug()<<QSqlDatabase::drivers();
输出:
(“QSQLITE”,“QMYSQL”,“QMYSQL3”,“QODBC”,“QODBC3”,“QPSQL”,“QPSQL7”)
说明驱动中已经有mysql了,但是执行程序时仍报:QSqlDatabase:QMYSQL driver not loaded
这是8.0以后的mysql做了加密,需要下载额外动态库。
下载地址:动态库
在这里插入图片描述
选择对应的mysql版本。下载ZIP格式,解压。
找到lib64文件夹下的libcrypto-1_1-x64.dll和libssl-1_1-x64.dll ,复制到D:\Qt\5.14.1\mingw73_64\bin目录下。
再运行程序,就没有报错了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值