由于MYSQL4.1.22功能简单,用c语言连接MYSQL数据库时出现了问题。再次重装了debian系统(这是第几次重装我不记得了,估计不下百次。纠结啊纠结,痛苦啊痛苦。好了,言归正传)。
系统:debian(32bits)
mysql:mysql-5.5.14-linux2.6-i686.tar.gz(在官网上可以下载)
Navicat:navicat091_lite_en.tar.gz(不要问我这是什么,跟mysqlcc一样的,但是mysqlcc不支持mysql5.0以上的。官网上可下)
在装mysql-5.5.14之前先安装libaio1:
#vim /etc/apt/sources.list
i(插入)
deb http:ftp.jp.debian.org/debian sid main
(看过我第一篇博客的人并照着做了的应该有这个源)
#aptitude update
#aptitude install libaio1
接下来安装mysql:
#tar -zxvf mysql-5.5.14-linux2.6-i686.tar.gz
#mvmysql-5.5.14-linux2.6-i686 /usr/local
#cd /usr/local
#ln -s mysql-5.5.14-linux2.6-i686 mysql
#groupadd mysql
#useradd -r -g mysql mysql
#cd mysql
#chown -R mysql .
#chgrp -R mysql . (这2句不要漏了2个“句号“”)
#scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# chown -R root .
# chown -R mysql data
#cp /usr/local/mysql/support-files/my-small.cnf /etc/my.cnf
# bin/mysqld_safe --user=mysql &
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server
安装完成!由于mysql.sock在/tmp下,所以每次启动debian时系统会自动清除mysql.sock 这时只要执行
#cd /usr/local/mysql
#./bin/mysqld_safe
就可以了。
Navicat的安装(跟mysqlcc一样)现在下来后将解压的文件放在/usr/local下,然后#ln -s “解压文件” navicat
执行./start_navicat(好像是这个名字,如果不是的话自己查看。个人感觉navicat有点微卡--就是点一下按钮,半天没反映。mysqlcc则流畅的多,可惜没人维护啊,我一直在想:为什么我们不能维护?难道国内的人都没有考虑吗?多么好的一个软件啊!我们是不是可以自己建个社区,来维护,更新mysqlcc,如果有人跟我有一样的想法,速发邮件给我!)
最后c语言连接数据库(这个是重点哈),下面是我写的c程序test.c(比较简单哈,主要是为了连接数据库):
#include
#include
#include "/usr/local/mysql/include/mysql.h"
int main()
{
MYSQL *conn_ptr;
conn_ptr=mysql_init(NULL);//if failed,return NULL;
if(!conn_ptr)
{
printf("init failed\n");
return 0;
}
conn_ptr=mysql_real_connect(conn_ptr,"localhost","root","ab19881111","nanchang",0,NULL,0);//if failed, return null;
if(conn_ptr)
printf("connection success\n");
else
printf("connection failed\n");
mysql_close(conn_ptr);
return 0;
}
当我打出这一行命令时:
#gcc test.c -o test -L/usr/local/mysql/lib -lmysqlclient
会有一个错误(我现在不能把错误信息发出来,意思就是error loading the shared libary libmysqlclient.so.18,no such factory or file.大概就是这样把)
解决办法:
#ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
#gcc test.c -o test -L/usr/local/mysql/lib -lmysqlclient
#./test
输出结果为:connection success表明连接成功!
#./test
输出结果:connection success
表明连接成功(以上都能在我的电脑上正确的运行)
时间:2011-7-31-3:49 好累啊,好要困啊。但是你们的支持,留言是我写博客的动力。
借用一句:我有一个梦想:我的博客什么时候能被斑竹推荐至csdn社区中心?我希望在那里看到我的博客(虚荣心)
希望知道怎么弄的人告诉我一声。
如果你在安装过程中有什么问题,可以给我发邮件:812344905@qq.com