centos c语言连接mysql数据库_Centos上用c语言连接mysql

本文详细介绍了在CentOS 6.4环境下,如何配置MySQL并使用C语言进行连接。步骤包括安装MySQL及mysql-devel,创建软连接,设置root用户密码,创建数据库和表,编写并编译C语言的数据库连接程序。特别强调了几个容易忽略但至关重要的步骤,如创建软链接到mysql.sock,更新ld.so.conf文件,并正确添加头文件和库路径。

本文转自:http://www.ithao123.cn/content-42508.html

我的环境为Centos 6.4, mysql版本是5.1.17

1) 安装mysql:

yum install mysql

*2)安装mysql-devel:

yum install mysql-devel

3)进入root用户:

su root

*4)增加/var/lib/mysql/mysql.sock的一个软连接到/tmp/mysql.sock, 因为mysql连接的api默认查找的是/tmp目录下面的mysql.sock

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

5)启动mysqld服务

service mysqld start

6)系统的环境已经配置好了, 现在进入数据库. 因为是第一次进入, 所以root用户的密码为空. 所以输入下面的命令即可进入mysql

mysql -u root

7)为root用户设一个密码, 密码为0126 步骤如下

use mysql;

UPDATE user SET password = password('0126') WHERE user='root@localhost ';

8)在数据库test上面创建一个children的表:

--   脚本名称:sql.sql

CREATE TABLE children(

no int(11) NOT NULL PRIMARY KEY auto_increment,

name varchar(30),

age int(11)

);

INSERT INTO children(age,name) VALUES (22,'aa');

INSERT INTO children(age,name) VALUES (12,'bb');

INSERT INTO children(age,name) VALUES (13,'cc');

INSERT INTO children(age,name) VALUES (24,'dd');

INSERT INTO children(age,name) VALUES (25,'ee');

INSERT INTO children(age,name) VALUES (24,'ff');

INSERT INTO children(age,name) VALUES (26,'gg');

INSERT INTO children(age,name) VALUES (27,'hh');

SELECT * FROM children;

[[[ ps: 运行脚本前, 要输入use test 来选中test数据库, 然后输入  . sql.sql  运行脚本就行了 ]]]

9)连接数据库的c程序源代码

///////////////////////////mysql1.c

#include

#include "mysql.h"//是" "而不是< >

int main()

{

MYSQL sql;

mysql_init(&sql);//初始化MYSQL结构体

if (&sql==NULL)

{

printf("init errorn");

return 1;

}

//连接失败就打印具体的错误信息

//用户为root@localhost , 密码是0126, 数据库是test

if (NULL==mysql_real_connect(&sql,"localhost","root","0126","test",0,NULL,0))

{

printf("connect errorn");

printf("error:%d: %sn",mysql_errno(&sql),mysql_error(&sql));

return 1;

}

printf("connect successn");

mysql_close(&sql);

return 0;

}

10)直接输入gcc mysql.c 是编译不了上面这个程序的, 我们还需要:

a)从 http://dev.mysql.com/downloads/connector/c/  下载连接mysql的库, 建议选tar.gz格式的, 因为rpm的老是报冲突, 安装不了

b)把下载到的文件解压出来

c)把bin文件夹所有的文件复制到/bin目录下

d)把include文件夹所有的内容复制到/usr/include/mysql/里面

e)把lib文件夹所有的内容复制到/usr/lib/mysql里面

[[[ ps:   i)mysql文件夹不存在就自己新建行了   ii)复制文件夹的命令 cp -r dir1 dir2 ]]]

*11)一个必不可少的小细节

vi /etc/ld.so.conf

在最后增加一行 /usr/local/mysql/lib/mysql

12)终于可以编译mysql.c了......在shell里面输入

gcc -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient mysql1.c

./a.out

运行结果如下,没有错误信息了, 运行了一下,  证明已经链接数据库成功了!!:

c55a3e515c617eddca6bac4180e3d657.png

[[[ ps: 上面12个步骤中, 带*号的是我一开始忽略但又很容易忘记的必不可少的步骤. 如果运行不起来, 不妨多留意一下带*号的那几步 ]]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值