windows:

#define MYSQLDB "QMYSQL"
#define MYSQLDB_HOSTNAME "192.168.228.168"
#define MYSQLDB_NAME "im"
#define MYSQLDB_USERNAME "root"
#define MYSQLDB_PASSWORD "123456"
#define MYSQLDB_PORT 3306

IM_DB_MysqlHelper::IM_DB_MysqlHelper(QWidget *parent/* =0 */,Qt::WFlags/* =0 */)
{
db = QSqlDatabase::addDatabase(MYSQLDB);
db.setHostName(MYSQLDB_HOSTNAME);
db.setDatabaseName(MYSQLDB_NAME);
db.setUserName(MYSQLDB_USERNAME);
db.setPassword(MYSQLDB_PASSWORD);
db.setPort(MYSQLDB_PORT);
}

IM_DB_MysqlHelper::~IM_DB_MysqlHelper()
{

}

/************************************************************************/
/* 成员方法
/************************************************************************/
bool IM_DB_MysqlHelper::CreateConn()
{
if(!db.isValid()){
qDebug() << "not valid!";
return false;
}
else
{
if(db.open())
{
qDebug() << "SUCCEED OPEN DB";
return true;
}
qDebug() << "FAILED TO OPEN DB";
return false;
}
}

bool IM_DB_MysqlHelper::Read(QString sSql)
{
QSqlQuery query;
if(query.exec(sSql)){
while(query.next()){
qDebug() << "id : " << query.value(0).toInt();
qDebug() << "username : " << query.value(1).toString();
qDebug() << "password : " << query.value(2).toString();
}
}
return true;
}

linux上注意事项:

需要给数据库设置访问权限,起初我认为是端口号不对,vi /etc/my.cnf发现端口是3306

1.进入mysql,输入 mysql -p123456 (密码是123456)

2.设置访问权限

grant all privileges on im.* to root@'%' identified by '123456';

grant privileges *.* to root@'%' identified by '123456';

发现成功输出:

SUCCEED OPEN DB
id : 1
username : "admin"
password : "111111"
id : 2
username : "cda"
password : "222222"
id : 3
username : "pcupso"
password : "333333"

OK,linux上的权限设置是关键

QT连接Linux mysql注意的更多相关文章

  1. 远程连接Linux mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决方法

    在新安装好的Centos7上刚安装好mysql,准备进去看看,但是登陆的时候,发现报错啦: ERROR 1045 (28000): Access denied for user 'root'@'loc ...

  2. Navicat MySQL连接Linux下MySQL的问题解决方案

    Error1: 2003:Can't connect to MySQL server on 'localhost' 解决方法:关闭Linux的防火墙功能. #chkconfig iptables of ...

  3. QT连接MySQL

    Qt 连接MySQL 是件很简单的事,但也有可能很不简单. QT给我们的提示只有 QMYSQL driver not loaded,让我们毫无头绪.访问其他数据库也可以用同样的方法解决. Qt 访问 ...

  4. linux mysql远程连接

    今天在本地连接linux服务端的mysql始终报错61,谷歌后找到原因: linux的mysql默认是不允许远程连接操作的,在stack上面找到方法:修改mysql配置文件/usr/local/mys ...

  5. QT连接mysql中文显示问题

    亲测OK! #vim /etc/mysql/my.cnf [mysqld]下面加入: default-character-set=utf8 重启mysql /etc/init.d/mysql rest ...

  6. 记录Window系统下myeclipes连接linux下mysql所出现的一个bug

    记录myeclipes远程连接mysql所出现的一个bug 今天在玩框架hibernate时,出现一个非常费解的bug,话不多说,先看bug Access denied for user 'root' ...

  7. 利用Linux的硬连接删除MySQL大文件

    利用Linux的硬连接删除MySQL大文件 http://blog.csdn.net/wxliu1989/article/details/22895201 原理:硬链接基础当多个文件共同指向同一ino ...

  8. sqlyog连接Linux上的mysql报错误号码2013,错误号码1130的解决办法

    sqlyog连接Linux上的mysql报错误号码2013,错误号码1130的解决办法 1.报错误号码2013,可能是端口号不是默认的3306,需要改成对应的,检查命令是: [root@host et ...

  9. Windows连接Linux服务器中MySQL数据库-权限配置

    问题描述 在Windows系统中安装了监控MySQL数据库服务器性能的工具Spotlight on MySQL,利用Spotlight连接Linux服务器中的MySQL,进行相关配置如下:   点击& ...

随机推荐

  1. (译)你应该知道的jQuery小技巧

    帮助提高你jQuery应用的简单小技巧 回到顶部按钮 图片预加载 判断图片是否加载完 自动修补破损图像 Hover切换class类 禁用输入 停止正在加载的链接 toggle fade/slide 简 ...

  2. linux修改ip地址的方法

    1. 临时设置ip地址 ifconfig eth0 IP地址 (网络掩码和网关如果不设置就使用默认0) 这种方法只是临时修改,重启网卡或服务器又会还原 2.使用vi编辑器设置 1122.www.qix ...

  3. Rabbitmq -Routeing模式- python编码实现

    (using the pika 0.10.0 Python client) In the previous tutorial we built a simple logging system. We ...

  4. static静态变量的理解

    静态变量 类型说明符是static.静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间 ...

  5. api get

    http://ibi.imim.es/befree/ http://disgenet.org/ http://rest.ensembl.org/ { "variantSetId": ...

  6. c#正则表达式2

    System.Text.RegularExpressions.Regex ___rx = new System.Text.RegularExpressions.Regex(@""& ...

  7. WinForm------点击Control弹出MessageBox

    private void barButtonItem3_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { //弹 ...

  8. Linux下安装setup tools小工具

    1, 最小化的linux系统(centos\redhat)默认都是没有安装setup图形小工具的,你输入setup命令会提示 command not found . 如果要使用这个命令安装方法 1.安 ...

  9. Java关键字——static

    static申明属性 如果有属性希望被所有对象共享,则必须将其申明为static属性. 使用static声明属性,则此属性称为全局属性,有时候也称为静态属性. 当一个类的属性申明位static的时候, ...

  10. C#中导入Win32 API函数

    C#中导入Win32 API的方法: 1.引用命名空间 using System.Net.Security; using System.Runtime.InteropServices; 2. [Dll ...