Centos上用c语言连接mysql

我的环境为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 <stdio.h>
#include "mysql.h" //是" "而不是< >
int main()
{
  MYSQL sql;
 
  mysql_init(&sql); //初始化MYSQL结构体
  if (&sql==NULL)
  {
    printf("init error\n");
    return 1;
  }

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

  //用户为root@localhost, 密码是0126, 数据库是test
  if (NULL==mysql_real_connect(&sql,"localhost","root","0126","test",0,NULL,0))
  {
    printf("connect error\n");
    printf("error:%d: %s\n",mysql_errno(&sql),mysql_error(&sql));
    return 1;
  }
  printf("connect success\n");
  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

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


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值