Home  >  Article  >  Database  >  ubuntu linux下使用Qt连接MySQL数据库的方法

ubuntu linux下使用Qt连接MySQL数据库的方法

WBOY
WBOYOriginal
2016-06-07 18:05:19935browse

Linux下完整的MySQL开发需要安装服务器端,如果安装客户端也没什么不好。直接在软件中心搜mysql,把client和server选上。

环境说明:
ubuntu 10.04.2
QtSDK (1.5G安装包的那个)
mysql5.1
1.安装MySQL
Linux下完整的MySQL开发需要安装服务器端,如果安装客户端也没什么不好。直接在软件中心搜mysql,把client和server选上。
server在安装时会提示为root用户设置密码,设一个好了。
我使用的是mysql5.1版本,用户名密码存储在一个叫mysql的数据库里,只有管理员级别才能看到。
如果直接在终端中输入 mysql,可能会提示ERROR 1045 (28000),这是因为这时候你是以自己用户名访问数据库,而目前数据库中只有一个root用户。没关系,如果有必要,可以添加一个用户进去:
mysql -uroot -p -->以root用户登录
grant usage on *.* to dummy@localhost; -->授权名为dummy的用户本地登录,这里换成自己的用户名就可以了
不过这时候直接mysql只有普通的权限,创建数据库、操作mysql都是不可以的,如果真有将其赋予管理员权限的需要,可以自己查阅有关资料。
2.安装Qt的MySQL驱动。
方法一:直接sudo apt-get install libqt4-sql-mysql ,这是Qt4的mysql驱动,就不用自己费劲编译了,不过可能会额外下载一些东西。
将 /usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so拷贝到你的QtSDK sqldrivers目录下,我当时是直接用普通权限安装,目录为:~/QtSDK/Desktop/Qt/473/gcc/plugins/sqldrivers
方法二:其实你也可以sudo apt-get download libqt4-sql-mysql,把包解压缩,然后把里面的so文件搜出来直接拷贝到那里。
方法三:乖乖按照官方方法编译,但是貌似可行性不大,因为新版本的QtSDK并没有src目录,默认也没有mysql的驱动。
3.做个demo试一下
记得在pro文件中 QT +=那里加上sql,否则qmake是不会去找sql的相关部分的
代码如下:
#include
#include
#include
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("study");
db.setUserName("root");
db.setPassword("tyh");
if(!db.open()){
qDebug()}else{
qDebug()}
return a.exec();
}

这里study这个数据库之前我已经创建过了,如果连接成功,就会显示Database connection established。 我是建立的控制台程序哈。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn