qt连接mysql安全么_QT连接Linux mysql注意

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_PORT3306

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上的权限设置是关键

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值