bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL3");
db.setHostName("192.168.136.141");//
db.setDatabaseName("agvc");
db.setUserName("root");
db.setPassword("root");
if (!db.open())
{
QMessageBox::warning(0, QObject::tr("Database Error"),
db.lastError().text());
return false;
}
return true;
}
程序在Windows下运行正常,在Unix下报错:Client does not support authentication protocol requested by server;consider upgrading MySql Client MYSQL: Unable to connect
根据MYSQL官网的提供解决方法(SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('newpwd'))也不行
那出问题了?
------解决方案--------------------
MYSQL是什么版本的?用5.0以上的试试 QSqlDatabase::addDatabase("QMYSQL");中的("QMYSQL3");改成("QMYSQL")试试看~;-)