Centos上用c语言连接mysql
2017-04-17 00:00
183 查看
本文转自: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 <stdio.h>
#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
运行结果如下,没有错误信息了, 运行了一下, 证明已经链接数据库成功了!!:
[[[ ps: 上面12个步骤中, 带*号的是我一开始忽略但又很容易忘记的必不可少的步骤. 如果运行不起来, 不妨多留意一下带*号的那几步 ]]]
我的环境为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 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
运行结果如下,没有错误信息了, 运行了一下, 证明已经链接数据库成功了!!:
[[[ ps: 上面12个步骤中, 带*号的是我一开始忽略但又很容易忘记的必不可少的步骤. 如果运行不起来, 不妨多留意一下带*号的那几步 ]]]
相关文章推荐
- Centos上用c语言连接mysql
- Centos上用c语言连接mysql
- 【转】Linux下使用C语言连接Mysql (commands out of sync, you can't run ...)
- C语言连接MySQL中文问题
- CentOS5.8下安装phpMyAdmin3.5.3来远程连接mysql服务器
- Centos下安装并配置ODBC连接MySQL
- linux下多线程连接mysql(C语言)
- 我最近在做MYSQL的C语言代码的连接,网上代码PHP和 MYSQL的太多了,我现在贴个C语言的,喜欢C的,来看下吧,
- mysql远程连接失败的解决方法(CentOS版)
- C语言连接Mysql
- C语言连接Mysql实例(一)
- 连接虚拟机centOS里的mysql
- CentOS LAMP环境搭建和测试php与mysql的连接
- 使用C语言访问MySQL数据 —— 连接和错误处理
- Eclipse+CDT环境下使用C语言连接MySQL——详细讲解
- centos解决mysql连接错误ERROR 1045 (28000)
- C语言连接mysql数据库,读取mysql内容
- c语言 连接 mysql 例程
- CentOS下mysql远程连接的失败的解决方法
- CentOS下mysql远程连接的失败的解决方法