我想测试一下能否链接上mysql,编写了如下简单的测试程序。文件名 " conn_mysql.c "
#include<stdio.h>
#include<stdlib.h>                                                               
#include<mysql.h>                                                                    
int main( int argc, char *argv[] )
{
        MYSQL *ConnMysql_ptr;
        ConnMysql_ptr = mysql_init( NULL );
                                                                    
        if( !mysql_real_connect(ConnMysql_ptr,
                 "localhost","root","yhy1983zj","eathonyang0",
                0,NULL,0) )
                printf("connect failed\n");
        else
                printf("connect success\n");
        mysql_close(ConnMysql_ptr);
}我的mysql安装在 /usr/local/mysql
以下是我操作的命令
[root@localhost root]# gcc -I/usr/local/mysql/include/mysql conn_mysql.c -L/usr/local/mysql/lib/mysql -lmysqlclient -o conn_mysql
[root@localhost root]# ./conn_mysql
./conn_mysql: error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory请各位指点一二,谢谢。

解决方案 »

  1.   

    libmysqlclient.so.15 文件找不到
    你先在一个客户端链接服务器的mysql试试 看看能不能连接上,就是确认你的mysql链接是否接通。
    如果能接通,查看你的丢失文件位置,确认存在。
      

  2.   

    自己使用myql -u -p 可以成功连接上,就是使用c不能连接上。而且我也查过,文件就在那个位置。很奇怪。[root@localhost root]# cd /usr/local/mysql/lib/mysql
    [root@localhost mysql]# ls
    a.out       libmyisam.a        libmysqlclient.so         libmysys.a
    conn_mysql  libmyisammrg.a     libmysqlclient.so.15      libvio.a
    libdbug.a   libmysqlclient.a   libmysqlclient.so.15.0.0  libz.a
    libheap.a   libmysqlclient.la  libmystrings.a            libz.la
    [root@localhost mysql]#
      

  3.   

    你试下把值/usr/local/mysql/lib/mysql加到LD_LIBRARY_PATH 环境变量中去看看
      

  4.   

    你试下参考下这个吧:http://hi.baidu.com/xootus/blog/item/9d979039bd7dc2c5d562258b.html
      

  5.   

    回复6楼vinsonshen,看了你给的参考,我使用第一种方法就可以正常编译并且运行了。谢谢。
    第三种方法上午试了,不行,可能是我没有正确运行ldconfig确认刷新。 方法二我就不尝试了。能测试连上就好,我就可以使用c编写mysql程序做练习学习了,这个才是我最终要的结果。呵呵。别的细节的东西以后再慢慢接触。给你50分:)在Linux下C连接MySQL出现问题如下: 
        编译成功后,运行程序,出现./connect: error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory.
        出现上面的错误是因为系统运行的时候没有找到程序运行所需要的libmysqlclient.so.15运行库文件,解决方法有两个:
        方法一:直接把libmysqlclient.so.15这个文件拷贝到系统指定的/usr/lib库文件目录中。
        方法二:设置/etc/ld.so.conf文件,编辑该文件,在文件中加入libmysqlclient.so.15所在目录,保存退出。需要注意的是,每次改动ld.so.conf之后需要运行ldconfig来确认刷新。
        方法三:Add /usr/local/mysql/lib/mysql to you LD_LIBRARY_PATH environment variable