MySQL Connector C API Невозможно соединиться с сервером MySQL - PullRequest
1 голос
/ 21 февраля 2012

Я пытаюсь подключиться к настройке базы данных MySQL с помощью XAMPP , используя MySQL, Connector C API в OSX.Используя этот код:

MYSQL mysql;
mysql_init(&mysql);
if(!mysql_real_connect(&mysql,"localhost","root","",NULL,0,NULL,0))
{
    printf("Failed to connect to database: Error (%d): %s",mysql_errno(&mysql),mysql_error(&mysql));
}
else printf("Connection success!");

Я получаю следующий результат:

Failed to connect to database: Error (2002): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Я могу подтвердить, что база данных работает, потому что phpMyAdmin подключается к ней нормально, вот config.inc.phpfile:

/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['connect_type'] = 'socket'; 
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true;

Кто-нибудь знает, почему phpMyAdmin может подключиться, а моя программа на C - нет?Я пытался принудительно установить TCP / IP-соединения, но безрезультатно.

1 Ответ

1 голос
/ 21 февраля 2012

Вы можете подключить порт по умолчанию 3306 mysql_real_connect (& MySQL, "локальный", "корень", "", значение NULL, 3306, NULL, 0)

или перенастройте my.cnf (предположим, вы используете linux) и перезапустите mysql.

[mysqld]
socket=/tmp/mysql.sock

[client]
socket=/tmp/mysql.sock
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...