上代码
系统 Centos7
Qt版本5.14.1
一、下载mysql
1.下载rpm包
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
2.安装包
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
3.安装mysql //此过程可能很慢看网速约下越慢
yum install mysql-server
此安装会安装 3个 软件包 (+2 依赖软件包) 以及+1升级包。
4.安装完成后执行以下命令查看安装的包。
rpm -qa | grep mysql
正常是6个包,包不全的自个yum安装一下。
5.下一步检查mysql头文件是否存在
cd /usr/include/mysql
如果不存在执行以下命令
yum install mysql-community-devel.x86_64
安装完成!下面配置一下mysql
二、配置mysql
1.登录mysql
mysql -uroot -p
2.需要修改一下/etc/my.cnf跳过密码后修改密码
vim /etc/my.cnf
在[mysqld]下面添加一条命令:skip-grant-tables,用于跳过mysql密码验证
3.重启mysql
systemctl restart mysqld.service
4.修改密码
mysql -uroot -p
//回车进入
use mysql;
update user set authentication_string=password('123456') where user='root';
刷新数据库权限:flush privileges;
退出数据库:exit;
再次进入 测试是否ok。
mysql配置完成。
三、编译Qt的mysql源码
1.进入qt的mysql源码目录
cd /opt/Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers/mysql/
2.修改pro
vim mysql.pro
替换为以下内容
TARGET = qsqlmysql
HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
#QMAKE_USE += mysql
QMAKE_LFLAGS +=/usr/lib64/mysql/libmysqlclient_r.so.18
INCLUDEPATH += /usr/include/mysql/
OTHER_FILES += mysql.json
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
此处要注意的是mysql头文件要存在,libmysqlclient_r.so.18文件要存在如果没有.18的库自行换一个,正常是有的。
3.修改pri
cd ..//切到上一层
vim qsqldriverbase.pri
吧#include($$shadowed($$PWD)/qtsqldrivers-config.pri)
替换为include($$shadowed($$PWD)/configure.pri)
qtsqldrivers-config.pri这个文件不存在需要改为configure.pri
4.编译
//注意gcc4.8版本不行,缺少参数。需要更换更高的gcc版本,8和9版本没问题。
如果gcc版本太低就升级gcc
1、安装centos-release-scl
sudo yum install centos-release-scl
2、安装devtoolset,注意,如果想安装7.*版本的,就改成devtoolset-7-gcc*,以此类推
sudo yum install devtoolset-8-gcc*
3、激活对应的devtoolset,所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本
scl enable devtoolset-8 bash
大功告成,查看一下gcc版本
gcc -v
cd mysql
qmake
make
make install
再次启动Qt程序就不会报找不到驱动。
完结!