Qt环境下使用MySQL,需要安装MySQL,如果不安装,直接qmake mysql.pro会出错,找不到mysql.h。
MySQL :: Begin Your Download - mysql-5.7.17-win32.zip
https://dev.mysql.com/downloads/file/?id=467268
免安装版本,只要解压到某个目录,设置bin目录系统环境变量,然后通过DOS配置,具体可以搜索“mysql免安装版配置”。
my-default.ini改为my.ini,移动到bin目录。
[mysqld]
basedir = D:/mysql-5.7.17
datadir = D:/mysql-5.7.17/data
port = 3306
default-character-set=utf8
default-storage-engine=innodb
default-collation=gbk_chinese_ci
chracter-set-server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set=gbk
通过DOS进入MySQL bin目录,执行mysqld --install安装服务,等一两分钟,出现Service successfully installed.提示,说明MySQL服务安装成功。这时执行net start mysql,出现”MySQL 服务正在启动 .MySQL 服务无法启动“错误。出错了重新解压,否则一直不能启动。
正确命令顺序如下:
mysqld --install
mysqld --initialize-insecure
net start mysql
然后VS命令提示符执行qmake "INCLUDEPATH+=D:\mysql-5.7.17\include" "LIBS+=D:\mysql-5.7.17\lib\libmysql.lib" mysql.pro,出现WARNING: (internal):1: Unescaped backslashes are deprecated.警告,可以把'\'换为'/',也可以不换。然后nmake,在\plugins\sqldrivers下就有了mysql的lib和dll。然后把MySQL lib目录下的libmysql.dll和libmysqld.dll拷贝到Qt bin目录中。
这时在Qt下查看可用驱动,就有了mysql的驱动。
Available drivers:
"QSQLITE"
"QMYSQL3"
"QMYSQL"
"QODBC3"
"QODBC"
QMYSQL driver valid? true