ubuntu上使用Qt5操作MySQL5

1、安装MySQL

sudo apt install mysql-server mysql-client

启动MySQL服务:

sudo service mysql start

查看服务是否启动:返回有“mysqld”的字样

sudo netstat -tap | grep mysql

2、配置数据库

以root身份进入服务器:

sudo mysql -u root

现在终端进入MySQL的命令状态。引导符:mysql>

创建数据库:

CREATE DATABASE trainning;

导入数据库:

USE trainning;
SOURCE path/name.sql;

修改数据库权限:

grant all on trainning.* to  yourname@localhost identified by 'yourpassword';

3、链接MySQL

在qt代码中:

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("trainning");
    db.setUserName("yourname");
    db.setPassword("yourassword");
    db.setPort(3306);
    if (!db.open())

链接数据库出错:QMYSQL Driver Not Loaded,只有QSQLITE驱动。

分析是由于没有MySQL的驱动,查找libqsqlmysql.so,只有qt4下的plugin中的sqldrivers中有。

解决方法有二:一下载源码编译,二下载编译好的。可以使用apt命令安装:

sudo apt install libqt5sql5-mysql

由于linux使用root链接数据库时需要root权限,而一般程序运行时是非root的。因此一定要配置成一般用户:因此需要在配置数据库的时候设置用户权限,而在链接的时候使用该用户去链接数据库和访问数据库。

4、访问数据库

    QSqlQuery q;
    bool bqr = q.exec("SELECT student.num FROM student"); 
此时如果没有数据库的访问权限,则返回时错误的(false)。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值