Centos 连接MySQL
Centos 安装MySQL数据库及用QT编译Mysql驱动
1、首先安装MySQL数据库,参考这个地址 https://www.cnblogs.com/yy3b2007com/p/10497787.html。卸载与不卸载Centos自带的数据库都行,按照网址上来就行了。本人用到的MySQL版本是:mysql-5.7.38-linux-glibc2.12-x86_64.tar
2、安装QT,这个简单,到官网上找到适合自己的安装包下载到Windows上(虚拟机联网的话,下载到虚拟机上也行),本人用的安装包是:qt-opensource-linux-x64-5.12.7.run
将这个压缩包复制到自己的虚拟机目录上面,我放到的是/usr/local/QT目录下面。
更改目录的权限,用命令 chmod -R 777 目录的名字
然后进入到压缩包的目录下面,然后使用命令 :./QT压缩包的全名(记得带上后缀名)(先断开虚拟机的网络,不然安装的时候会提示注册用户,超级的麻烦)
然后进行下一步,知道进行到类似这个界面,不会的记得全选上,熟悉的选择适合自己的就行,记得一定要勾选上源码
一直进行下一步,知道安装完成
3、安装完QT后设置QT的环境变量
方式:使用终端命令:vim ~/.bashrc
然后在文件的最后添加上:
export QTCDIR=/home/mjh/Qt5.12.7/5.12.7/gcc_64
export PATH=$QTCDIR/bin:$PATH
export MANPATH=$QTCDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTCDIR/lib:$LD_LIBRARY_PATH
记得第一行要根据自己的实际安装位置设置:看看根据第一行是否能找到第二行中的路径,如上面第二行的路径是第一行的路径下的bin 文件夹。如果找不到第二行的路径,需要修改第一行的路径,总之是在QT的安装目录下面。
4、修改QTMySQL源码,使其可以编译新的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/local/mysql/lib/libmysqlclient.so
INCLUDEPATH += /usr/local/mysql/include/
OTHER_FILES += mysql.json
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
3、返回上一级目录,修改pri文件
命令行:vim qsqldriverbase.pri。也可以使用编译器打开,只要能修改,怎么打开都行
将 #include($$shadowed($$PWD)/qtsqldrivers-config.pri)
替换为 include($$shadowed($$PWD)/configure.pri)
4、编译 进入到QT的MySQL目录中,即:cd /opt/Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers/mysql/,然后依次执行命令
qmake
make
make install
5、注意第四步可能报错,说找不到qmake命令,相似命令make什么玩意的东西,这是因为没用设置qmake环境变量,或者环境变量设置错误导致的
还可能会报一些缺少mysql.h或者缺少其他什么玩意的东西,这时说明上面红色字体的路径没有设置正确
解决完上述错误后再次执行第四步中的命令行,正常情况下是可以生成libqsqlmysql.so动态库的,路径在生成的时候会打印在界面上。
6、打开QT连接MySQL数据库,这时可能会出现找不到MySQL的驱动什么玩意
1)看看将生成的libqsqlmysql.so文件放置到自己程序的根目录下面了吗(可能也不需要放置)
2)到libqsqlmysql.so目录中,使用命令行:ldd libqsqlmysql.so查看是否缺少依赖项如图
3)使用软连接 进行依赖项的连接
4)路径自己根据自己的目录设置:参考地址:https://copyfuture.com/blogs-details/20210722132457105i
7、编译MySQL驱动参考地址:https://blog.csdn.net/LuXiaoXin1999/article/details/112553983
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)