求助,qt使用sethostname使用ip参数不能连接本地mysql
使用qt4.6.4编写代码连接本地mysql,代码如下:
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("ttt");
db.setUserName("admin");
db.setPassword("admin");
db.open();
可以成功连接本地mysql,但是改为IP方式就连接失败:
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("l0.202.130.129"); //本地IP
db.setPort(3306);
db.setDatabaseName("ttt");
db.setUserName("admin");
db.setPassword("admin");
db.open();
用db.lastError()打印信息为:"Unknown MySQL server host 'l0.202.130.129' (0) QMYSQL: Unable to connect"
已经 通过mysql客户端设置可以访问的帐户admin密码admin,如下:
mysql> GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
mysql>GRANT ALL ON *.* TO admin@'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION;
命令行连接测试如下:
C:\>mysql -h localhost -u admin -padmin
C:\>mysql -h 10.202.130.129 -P 3306 -u admin -padmin
都能成功登陆mysql服务器。
求助帮忙解决一下。