我使用MySQL Connector(用于C)尝试连接到远程数据库。但是,我的代码无法实例化与远程数据库的连接。这是代码
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "192.168.1.114";
char *user = "root";
char *password = "PASSWORD_STUB"; /* set me first */
char *database = "tmp";
conn = mysql_init(NULL);
/* Connect to database */
if (!mysql_real_connect(conn, server,
user, password, database, 3306, NULL, 0)) {
printf("ERROR CODE %u: %s", mysql_errno(conn),mysql_error(conn) );
}else{
printf("Connected..");
}
错误的输出是
ERROR CODE 1045: Access denied for user 'root'@'192.168.1.100' (using password: YES)
我是否正在尝试正确连接服务器?错误代码中的IP是我的机器的IP而不是远程主机的IP。
答案 0 :(得分:0)
导致访问失败的原因有很多,看看下面的链接,它提供了一些调试机制:
答案 1 :(得分:0)
这是锁定数据库以禁止root远程访问的标准部分。
从命令行尝试“ mysql -u root -p -h 192.168.1.114”
如果失败,请尝试使用root以外的其他用户。
在C不能期望远程连接之前,您必须使命令行登录远程运行。