qt5.4编译mysql驱动_Ubuntu15.04下QT5.4编译配置MySQL5.6.26连接驱动

Ubuntu15.04下QT5.4编译配置MySQL5.6.26连接驱动

1. 进入下载目录,在Ubuntu终端下面执行下面的语句,无需root权限:

./ qt-opensource-linux-x86-5.4.0.run

2. 接下来就会出现Qt安装对话框,点击”next”执行下一步:

3. 接下来选择安装位置。因为使用的不是root权限,所以建议安装在用户目录下:

4. 选择需要安装的组件,这个根据需要选择就可以了:

a7982e4cfc063990ad9ce8645a7bdb18.png

这里的Source 一定要勾选,才有

root@_:/home/ukylin/Qt5.4.0/5.4/Src/qtbase/src/plugins/sqldrivers/mysql目录

下载,然后按照安装顺序执行:

第一个:mysql-common_5.6.31-0ubuntu0.15.10.1_all.deb

第二个:libmysqlclient18_5.6.25-0ubuntu1_i386.deb

第三个:libmysqlclient-dev_5.6.25-0ubuntu1_i386.deb

令是:dpkg -i file.deb

切换目录:/home/ukylin/Qt5.4.0/5.4/Src/qtbase/src/plugins/sqldrivers/mysql

第一步:qmake "INCLUDEPATH+=/usr/local/include""LIBS+=-L/usr/local/lib -lmysqlclient_r" mysql.pro 这个一般是通用型配置。

我的电脑是qmake "INCLUDEPATH+=/opt/mysql/server-5.5/include""LIBS+=-L/opt/mysql/server-5.5/lib -lmysqlclient_r" mysql.pro

提示:重新make需要:make clean

第二步:make

第三步:make install

第四步:查看cd /home/ukylin/Qt5.4.0/5.4/gcc/plugins/sqldrivers/

输入:ldd libqsqlmysql.so 查看依赖关系。

19d04c205e98019667bc5447d4f45e49.png

打开一个工程试下:

188d24d85c2d11e119e05243ae37673d.png

error open database because "Can't connect to local MySQL server through socket '/var/run/mysqld.sock'(2)QMYSQL:Unable to connect"

我这里给出一套解决方案,但是你要有对MySQL数据库有一定了解,不然后期你很难处理:

一:cd /var/run/

二:mkdir mysqld  (chown mysql.mysql ./ -R 这里别忘了权限问题低级错误)

三:关闭mysql服务器,查看是否关闭:ps -ef | grep msyql;

四:安装目录下:修改my.cnf

8c9a5279056743ddbb80dc3fd5fe8b7b.png

五:启动mysql服务器:service mysql start

58b907f42250f2e68ba0dfff4ac36627.png

连接成功。  最后执行:ln -s/var/run/mysqld/mysqld.sock /tmp/mysql.sock 硬链接。

ca115541dba4850dd94dc635315a8945.png

强大的linux。上面是服务器运行的时候颜色。。下面是服务器关闭的颜色,文件消失了的。

最后进行测试:void MainWindow::showDataBaseDataSlot(){

this->db = QSqlDatabase::addDatabase("QMYSQL");//加载驱动

this->db.setHostName("localhost");

this->db.setUserName("root");

this->db.setPassword("root");

this->db.setDatabaseName("student");

bool ok = db.open();

if(ok){

qDebug() <

}else{

qDebug() <db.lastError().text();

}

QSqlQuery query;

query.exec("select * from information");

//return the databases recorder

while(query.next()){

int id=query.value(0).toInt();

QString name=query.value(1).toString();

QString address=query.value(2).toString();

QString contact=query.value(3).toString();

qDebug()<

}

this->db.close();

工程文件别忘了加 QT += sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值