0
我正在尝试使用OSX上的MySQL Connector C API连接到由XAMPP设置的MySQL数据库。使用此代码:MySQL连接器C API无法连接到MySQL服务器
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.php文件:
/* 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连接无济于事。
谢谢,事实证明,XAMPP更改了MySQL监听的套接字,找到my.cnf后,它指出套接字的路径。 – user293895 2012-02-21 05:12:46
按照您的建议尝试使用端口3306。不工作。 – user124384 2015-06-21 23:44:37