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. PHP serialize && unserialize Security Risk Research

    目录 . 序列化的定义 . serialize:序列化 . unserialize:反序列化 . 序列化.反序列化存在的安全风险 . Use After Free Vulnerability -] . ...

  2. Socket与SocketServer结合多线程实现多客户端与服务器通信

    需求说明:实现多客户端用户登录,实现多客户端登录一般都需要使用线程技术: (1)创建服务器端线程类,run()方法中实现对一个请求的响应处理: (2)修改服务器端代码,实现循环监听状态: (3)服务器 ...

  3. python redis使用心得

    发布与订阅 连接池代码 redis_conn.py import redis REDIS_CONN = { 'HOST': '192.168.1.11', 'PORT': '6378', 'DB': ...

  4. linux安装pip

    1.先说一下什么是pippip 是"A tool for installing and managing Python packages.",也就是说pip是python的软件安装 ...

  5. JavaWeb学习笔记——javabean与表单

  6. JavaWeb学习笔记——SAX解析

    import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHa ...

  7. 使用Diagnose服务查看Azure网站诊断信息

    注意:当前操作只针对"基本"和"标准"模式的网站(也就是有独立实例的网站) 登陆网站的kudu模式:http://{yoursitename}.scm.chin ...

  8. ecshop分页

    php代码 $page = $_GET['page']; //当前是第几页 $count = grab_promote_goods_count(); // 一个有多少条 $size= '; ){ $p ...

  9. tableview中在tableheaderView上放一个视图,第一次进入视图显示不正常,往下拉视图仍然不正常,往上拉视图正常

    解决办法: frame来源不正常,从直接在viewDidLoad方法中设置的frame,改为 - (void)viewDidLayoutSubviews { [super viewDidLayoutS ...

  10. 上下联动,右侧按钮过多poper展示

    http://pan.baidu.com/s/1dDFMLjF