备忘记录。网上有很多类似的教程,但是大多数会出现一点小问题,搞了两个小时终于搞定了,特此纪录一下,以免后面需要安装又忘了。
MySQL安装:
1.下载:MySQL :: Download MySQL Community Server
2.MySQL的安装分为两种, .msi和.zip 。我这里使用的是zip,解压后如图所示。
3.然后需要生成配置文件以及设置相关环境变量。
我的电脑->属性->高级->环境变量
选择Path,在其后面添加: 你的mysql bin文件夹的路径 :
E:\MySQL\mysql-8.0.31-winx64\bin;
配置完环境变量之后,在E:\MySQL\mysql-8.0.31-winx64目录下新增加一个配置文件mysql.ini ,内容如下:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=F:\mysql\mysql-5.7.24-winx64\mysql-5.7.24-winx64
# 设置mysql数据库的数据的存放目录
datadir=F:\mysql\mysql-5.7.24-winx64\mysql-5.7.24-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
3.接下来,正式安装MySQL;
以管理员身份运行cmd,切换到mysql安装目录下的bin目录。
执行命令
这个命令会在安装目录下生成一个data文件夹。
按顺序执行下列命令:mysqld install;net start MySQL;mysql -u root -p(这里让我们输入密码,由于我们第一次没有设置密码,直接回车就可以),执行结果如图
设置密码:(这里很容易出错)
use mysql;ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; flush privileges;
后面就可以使用mysql>quit退出了。
重新进入,输入密码,测试是否设置成功。
Qt连接MySQL
在QT Widget Application项目中连接mysql时报错:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
这是因为QT默认没有mysql插件,因此无法正确连接mysql。
1.定位到文件夹 “C:\Qt\Qt5.14.2\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql” 下,然后用QT Creater打开mysql.pro文件。
2.修改.pro文件。
TARGET = qsqlmysql
HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
#QMAKE_USE += mysql
OTHER_FILES += mysql.json
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
#下面根据自己电脑中MySQL的安装位置改变
INCLUDEPATH +=E:/MySQL/mysql-8.0.31-winx64/include/
LIBS += E:/MySQL/mysql-8.0.31-winx64/lib/libmysql.lib
#为了方便查找,指明编译后的结果输出的位置
DESTDIR = ../mysql/mysqlDll
运行结果如下:
得到我们需要的文件。
3.将上一步生成的两个.dll文件拷贝到文件夹 “$(你电脑上QT的安装位置)\Qt5.14.2\5.15.2\msvc2019_64\plugins\sqldrivers” 下;
将 “$(你的MySQL安装位置)\mysql-8.0.31-winx64\lib” 下的libmysql.dll文件,拷到 “$(你电脑上QT的安装位置)\Qt5.14.2\5.15.2\msvc2019_64\bin\” 下;
完成!!!