1.首先:linux下安装mysql: (Linux版本Ubuntu)
1.sudo apt-get install mysql-server
2.sudo apt-get install mysql-client
3.sudo apt-get install libmysqlclient-dev
2.编译:
gcc -o test_sql test_sql.c -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient
(安装完 libmysqlclient-dev后,会自动有mysql.h在mysql中)
-I (大写i)表示要找的头文件在 /usr/include/mysql 目录下
-L表示要找的库文件在/usr/lib/mysql 的目录下
-l(小写L)表示所要找的库文件名是 mysqlclient,其实是libmysqslclient,只是忽略了前缀 lib
步骤:1.创建MYSQL句柄 2.初始化MYSQL句柄 3.用MYSQL句柄与MYSQL数据库发生连接 4.最后关闭连接
先给出代码:
#include<stdio.h>
#include<mysql.h> //所需头文件
int main()
{
MYSQL *conn_prt; //创造一个MYSQL句柄
conn_prt = mysql_init(NULL); //初始化MYSQL句柄
if(!conn_prt) //若初始化句柄失败
{
printf("connect mysql failed");
return -1;
}
/*尝试与mysql数据库连接*/
if(!mysql_real_connect(conn_prt,"localhost","root"
,"123456","test",0,NULL,0))
{
printf("failed to coonect mysql:%s\n",mysql_error(conn_prt));
}
else
{
printf("connect success...........\n");
}
/*关闭与Mysql数据库的连接,并释放相应内存*/
mysql_close(conn_prt);
return 0;
}
主要讲讲 函数 mysql_real_connect()的8个参数:
第一个:mysql_init()的返回值,就是Mysql句柄
第二个:应该为IP地址,但如果为字符串localhost或者NULL,则表示,是本地连接,就是在宿主机上连接自家的数据库
第三个:参数包含用户的MySQL登录ID。如果这个参数是NULL或空字符串"",用户将被视为当前用户。在UNIX环境下,它是当前用户名
第四个:用户名密码
第五个:要连接的数据库
第六个:port端口,要是连外网的数据库,则填的是他的端口号,若是本地连接,填0就好
第七个:套接字,如果不为NULL,则表示要使用相应的套接字
第八个:flag选项,一般为0
以上就完成了Linux 下C语言连接Mysql数据库。