QT的安装请参考:手把手教你Ubuntu18环境下QT的安装
MariaDB安装: MySQL 被 Oracle 收购后,存在闭源的风险,因此开源社区 fork 了MySQL独立开发来规避这个风险。MariaDB 无论是 API 还是命令行,都与 MySQL 完全兼容。所以我们这里选择mariadb数据库,它跟MySQL没什么区别。
命令行输入安装命令,显示无法打开锁文件
apt-get install mariadb-server很简单,切换到root用户,再进行安装(这里sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等,简单说就是su命令是用来切换用户。如果超级权限用户root向普通用户切换不需要密码;而普通用户切换到其它任何用户都需要密码验证) 验证Mariadb数据库是否安装好:mysql -u root -p,进入MySQL bin目录后执行,回车后输入密码连接。常用参数:-h 服务器地址,-u 用户名,-p 密码,-P 端口 需要输入密码,但是我还未设置密码,现在修改root密码: 1.以root身份在终端登陆(必须) 2.输入命令,格式:mysqladmin -u root -p password 新密码 3.回车后出现 Enter password,输入旧密码,如果没有,直接回车 设置完root密码,我们就能通过密码登录了。这里提供一些Mariadb数据库的创建和基本操作
查看系统有多少数据库 MariaDB [(none)]> show databases 创建一个数据库 MariaDB [mysql]> create database luntan 退出数据库系统 MariaDB [(none)]> quit MariaDB [(none)]> exit参考:linux基础&Mariadb数据库的创建和基本操作
注意: 在新安装的Ubuntu 18.04上,默认的MySQL或MariaDB配置通常允许您在不提供密码的情况下访问数据库(具有完全管理权限),只要您从系统的root帐户建立连接即可。 在这种情况下,可能没有必要重置密码。 在继续重置数据库root密码之前,请尝试使用sudo mysql命令访问数据库。(注意mariadb与MySQL命令兼容) 这样,mariadb就安装好了
我的Qt安装的位置:
/home/xxx123/Qtmysql 项目源码的位置:
/home/xxx123/Qt/5.14.2/Src/qtbase/src/plugins/sqldrivers/mysql根据提示查找sql-driver.html /home/xxx123/Qt/Docs/Qt-5.14.2/qtsql文件夹下找到sql-driver.html 打开网页,搜索 How to Build the QMYSQL Plugin on Unix and macOS,结果如下图
切换到源码目录
cd /home/xxx123/Qt/5.14.2/Src/qtbase/src/plugins/sqldrivers编译项目
qmake -- MYSQL_PREFIX=/usr/local/usr/local 是mysql安装目录 qmake的执行出问题的话就是qmake环境变量没有配置,可以改成以下命令行:即执行特定文件夹下的qmake
/home/xxx123/Qt/5.14.2/gcc_64/bin/qmake -- MYSQL_PREFIX=/usr/local还是报错,这里去安装gcc和g++编译器(你可以只安装g++)
C/C++编译器有很多,你也可以安装clang,他们之间的区别请参考:编译器GCC与Clang的异同
开始安装,输入以下命令
sudo apt-get install gcc-4.8 g++-4.8查看gcc是否安装好了
ls /usr/bin/gcc*应用gcc
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100 sudo update-alternatives --config gcc检查gcc
gcc --version或gcc -v同理,查看g++是否安装好
ls /usr/bin/g++*应用g++
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 100 sudo update-alternatives --config g++检查g++
g++ --version或g++ -v重新输入命令
/home/xxx123/Qt/5.14.2/gcc_64/bin/qmake -- MYSQL_PREFIX=/usr/local编译完成后在
/home/xxx123/Qt/5.14.2/Src/qtbase/src/plugins/sqldrivers目录下会出现libqsqlpsql.so.debug和libqsqlpsql.so 两个文件,把它们拷贝到
/home/xxx123/Qt/5.14.2/gcc_64/plugins/sqldrivers覆盖原文件,然后就可以连接了。
我这里应该是自动编译到了该路径
/home/xxx123/Qt/5.14.2/gcc_64/plugins/sqldrivers参考:https://blog.csdn.net/gongziwushuang/article/details/96463655
一直编译不成功可以参考:https://blog.csdn.net/qq_36938428/article/details/89528071