用于C-的MySQL连接器连接到远程数据库

问题描述:

我正在使用MySQL连接器(用于C)尝试连接到远程数据库。但是,我的代码无法实例化到远程数据库的连接。下面的代码用于C-的MySQL连接器连接到远程数据库

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。

+1

为了连接到远程'mysqld',它必须有启用在端口'3306'上侦听,并且必须** NOT **在'/ etc/mysql/my.cnf'中取消注释'skip-networking'。您还需要检查“root”是否被禁止远程连接。 – 2014-11-20 23:12:43

有很多原因造成的访问失败,就来看看下面的链接,它提供了一些调试机制:

http://dev.mysql.com/doc/refman/5.1/en/access-denied.html