ubuntu 从安装MySQL到Qt,再到Qt链接MySQL(Qt包括安装MySQL驱动)

本文详细介绍了在Ubuntu系统中如何安装MySQL和Qt5.9.9,以及如何手动编译Qt的MySQL驱动。步骤包括MySQL的安装、启动与设置,Qt的下载与安装,最后通过修改源码和编译驱动解决了Qt无法自动加载QMYSQL驱动的问题。
摘要由CSDN通过智能技术生成

从安装MySQL到Qt,再到Qt链接MySQL(Qt包括安装MySQL驱动)

本人已测试成功,放心食用!!!!!

一、MySQL

1 、安装Mysql
依次输入以下命令

sudo apt-get install mysql-server
 
apt-get isntall mysql-client
 
 sudo apt-get install libmysqlclient-d

2、查看是否安装成功

mysql --version       

即查看MySQL版本

3、MySQL启动与关闭命令

service mysql start  # 启动
service mysql stop  # 关闭

4、设置用户和密码
先输入以下命令

cd /etc/mysql
sudo cat debian.cnf

你会得到
以下类似结果
在这里插入图片描述
根据user 和 password输出结果, 编辑命令 mysql -u ( u s e r ) − p (user) -p (user)p(password),不用写括号,括号是方便看

mysql -udebian-sys-maint -p2STJ4ZfRtNhqe4Aw    
#最好是复制过来以免出错,不要把 -u  -p 忽略掉

至此 已经进入到了MySQL系统中了

5、改密码
#依次输入以下命令

show databases;
use mysql;
update user set authentication_string=PASSWORD('自己的密码') where user='root';
update user set plugin="mysql_native_password"; 
flush privileges;
quit;

6、登录

service mysql stop  # 关闭
service mysql start  # 启动
mysql -uroot -p密码
或者
mysql -uroot -p #回车
再输入密码

自此MySQL安装完成

二、Qt

1、进入官网下载地址 http://download.qt.io/

archive 各种 Qt 开发工具安装包,新旧都有(可以下载 Qt 开发环境和源代码)。
community_releases 社区定制的 Qt 库,Tizen 版 Qt 以及 Qt 附加源码包。
development_releases 开发版,有新的和旧的不稳定版本,在 Qt 开发过程中的非正式版本。
learning 有学习 Qt 的文档教程和示范视频。
ministro 迷你版,目前是针对 Android 的版本。
official_releases 正式发布版,是与开发版相对的稳定版 Qt 库和开发工具(可以下载Qt开发环境和源代码)。
online Qt 在线安装源。
snapshots 预览版,最新的开发测试中的 Qt 库和开发工具。

2、(这里推荐Qt 5.99版本)进入archive目录选择qt目录,选择5.9目录,再选择5.99,最后选择qt-xxxxxxxxxxx.run文件,下载到本地。(这里一步到位)
3、赋予文件执行权限

chmod +x ./qt-opensource-linux-x64-5.9.9.run

4、安装

./qt-opensource-linux-x64-5.9.9.run

如果安装过程中,有注册页面,把网络关闭,重新开始,点击跳过,之后就可以开网了

选择自己的安装路径

注意:一定要把源码选上,一定要把源码选上,一定要把源码选上,也就是source选项,建议全选
之后就是等待了

5、安装完成后,不要运行,执行以下语句

sudo apt-get install build-essential
sudo apt-get install libqt4-dev

到此安装完成,可以运行了

三、qt链接mysql

先创建一个qt项目
在.pr文件 加上

QT += sql

在main.cpp文件中添加以下代码

#include "widget.h"

#include <QApplication>
#include <QSqlDatabase>
#include <QDebug>

int main(int argc, char *argv[])
{
    QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
        db.setHostName("localhost");
        db.setDatabaseName("sys");
        db.setUserName("root");
        db.setPassword("自己的密码");
        if(!db.open()){
        qDebug()<<"Unable to open database";
        }else{
        qDebug()<<"Database connection established";
        }
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}

然后运行,会报以下错误

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: 
"Driver not loaded Driver not loaded"
QSqlQuery::prepare: database not open
"Driver not loaded Driver not loaded"

说明缺少mysql驱动,需要咱自己编译驱动文件。也有其他办法,但是这里提倡自己编译。其他地方下载文件可能不能使用,是在浪费时间。

首先找到mysql的文件路径

# 终端输入
locate mysql.h
# 终端输出
/usr/include/mysql/mysql.h

# 终端输入
locate libmysqlclient.so
# 终端输出
/usr/lib/x86_64-linux-gnu/libmysqlclient.so
/usr/lib/x86_64-linux-gnu/libmysqlclient.so.20
/usr/lib/x86_64-linux-gnu/libmysqlclient.so.20.3.26

其次,找到自己Qt的安装位置,就是安装是选择的路径
在找到qmake位置 (自己的位置/ Qt5.9.9/5.9.9/gcc_64/bin/qmake)
切记不是/usr/bin/qmake这个路径。不是、不是、不是

最后在qt安装路径下找到Src文件所在位置srcPath=(/home/xipaoer/Qt/Qt5.9.9/5.9.9/Src),进入到该文件中
之后打开终端

cd /qtbase/src/plugins/sqldrivers/mysql
# 此时本人完整的路径为 / home/xipaoer/Qt/Qt5.9.9/5.9.9/Src/qtbase/src/plugins/sqldrivers/mysql/
sudo gedit ./mysql.pro

显示如下
在这里插入图片描述
现在要修改本文件,修改如下:

TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

# QMAKE_USE += mysql

OTHER_FILES += mysql.json

#该路径是的Mysql的头文件(include)路径
INCLUDEPATH +=/usr/include/mysql/
#这是MySQl的库文件路径
LIBS +=-L/usr/lib/x86_64-linux-gnu -lmysqlclient

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)

上文找到的/usr/include/mysql/mysql.h 和 /usr/lib/x86_64-linux-gnu/libmysqlclient.so的路径就可以用到了。
如果和我的路径一样,直接复制粘贴就可以了。

接下来就是编译和安装驱动了

1、先复制之前找到的 qmake 文件所在位置,一定是gcc_64文件加以下的,本人的是(/home/xipaoer/Qt/Qt5.9.9/5.9.9/gcc_64/bin/qmake)
2、此时终端所在位置为"/ home/xipaoer/Qt/Qt5.9.9/5.9.9/Src/qtbase/src/plugins/sqldrivers/mysql/"

#进入上一层目录
 cd ..
 # 此时终端所在位置为"/ home/xipaoer/Qt/Qt5.9.9/5.9.9/Src/qtbase/src/plugins/sqldrivers"

#执行qmake生成makefile文件
/home/xipaoer/Qt/Qt5.9.9/5.9.9/gcc_64/bin/qmake

#再次进入驱动目录
cd mysql/
# 此时终端所在位置为"/ home/xipaoer/Qt/Qt5.9.9/5.9.9/Src/qtbase/src/plugins/sqldrivers/mysql/"

#再次执行qmake
/home/xipaoer/Qt/Qt5.9.9/5.9.9/gcc_64/bin/qmake
#编译生成驱动文件
make
# 编译没有错误,进行下一步。如果出错,仔细再看一遍文章

# 安装驱动库
make install

到此,安装完成。可以到Qt项目中运行测试

注意,一步一步来,不要出错。本人已测试成功!!!!!

  • 12
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值