1. 下载好mysql ,并安装,具体参考下面的链接:
https://blog.csdn.net/linzihahaha/article/details/109548510
2,安装好qt5 ,
参考 https://blog.csdn.net/wangguang_/article/details/90676803
3,查看mysql 驱动是否ok:
(1) 进入Qt安装目录sqldrivers(驱动目录)
命令: cd /opt/Qt5.4.0/5.4/gcc/plugins/sqldrivers/
(2) 测试动态库是否已经全部加载完成
命令: ldd libqsqlmysql.so
(3)如果出现libmysqlclient_r.so.16 not find
(4)下载文件
64位:下载https://pan.baidu.com/s/1qO0v0WmNIH-BFn3BXyzdqQ
32位:下载https://pan.baidu.com/s/1OrsO2b5HTSGdAg7dZ-dqFA
(5)下载好对应的libsqlclient_r.so.16文件后(注意,修改下后缀,将16.0.0后面的两个0 去掉)
将该文件移动到 /usr/lib/i386-linux-gnu
命令: mv libsqlclient_r.so.16 /usr/lib/i386-linux-gnu
(6)测试动态库是否已经全部加载ok
命令: ldd libqsqlmysql.so (如果未生效可以重启再试试)
4. 创建数据库
(1)进入mysql
如果设置了root密码,进入mysql的命令如下:
mysql -u root -p
###提示输入密码,输入后,就会自动进入了:
(2)create 数据库
(3)编写qt 测试demo:
按默认创建一个一个hello world 的widget 程序,添加如下代码:
头文件加入
main.cpp 加入:
QSqlDatabase d = QSqlDatabase::addDatabase("QMYSQL");
d.setHostName("127.0.0.1");
d.setDatabaseName("testdb");
d.setPort(3306);
d.setUserName("root");
d.setPassword("123456");
if(d.open())
qDebug()<<"connect successfully!";
else
qDebug()<<"failed!!!!";
上面的hostName ,port 都是用的默认配置,不需要修改, username,和password就是你配置数据库时候设置的用户名和密码, databasename 就是上面create的数据库名称。
运行测试:
注意,如果运行出现下面的错误:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7
那么还是你的数据库驱动没有配置好,请操作:
cd /opt/Qt5.4.0/5.4/gcc/plugins/sqldrivers/
ldd libqsqlmysql.so
查看是否还有其它的so库缺失。补充即可。
如果提示 :
Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘ (2) #2
那么是mysql service没有启动,执行:
service mysql start
完毕!
参考链接:
https://blog.csdn.net/jiacheng1991/article/details/82597922
https://blog.csdn.net/a844651990/article/details/82688569
https://www.jianshu.com/p/bd513f9f7f6f