【Mysql】linux连接mysql错误解决方案

1.源码

//connect-mysql.c
#include <stdio.h>
#include "/usr/include/mysql/mysql.h"
int main()
{
    MYSQL mysql;//need a instance to init
    int t,r;//connect the database
    mysql_init(&mysql);
    if(!mysql_real_connect(&mysql,"localhost","root","yourpassword","mysql",0,NULL,0))
    {
        printf("Error connecting to database: %s 
",mysql_error(&mysql));
    }
    else
    {
        printf("Connected MySQL successfully! 
");
    }
    mysql_close(&mysql);
    return 0;
}




2.头文件链接

    #include "/usr/include/mysql/mysql.h"
   这里写死了相应头文件的目录位置,不利于不同系统的程序移埴,在此只是为了测试,以减少代码输入量


3.库文件链接

   由于初学者对于mysql配置文件及相应文件所在目录不是很熟悉,这里可以在终端输入

mysql_config

查看相应的文件所在目录

Usage: /usr/lib/mysql/mysql_config [OPTIONS]
Options:
        --cflags         [-I/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4  -m32 -fasynchronous-unwind-tables -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC  -fPIC -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -DMY_PTHREAD_FASTMUTEX=1]
        --include        [-I/usr/include/mysql]
        --libs           [-L/usr/lib/mysql -lmysqlclient -lpthread -lz -lm -lrt -lssl -lcrypto -ldl]
        --libs_r         [-L/usr/lib/mysql -lmysqlclient -lpthread -lz -lm -lrt -lssl -lcrypto -ldl]
        --plugindir      [/usr/lib/mysql/plugin]
        --socket         [/var/lib/mysql/mysql.sock]
        --port           [0]
        --version        [5.5.28]
        --libmysqld-libs [-L/usr/lib/mysql -lmysqld -lpthread -lz -lm -lrt -lssl -lcrypto -lcrypt -ldl -laio]
        --variable=VAR   VAR is one of:
                pkgincludedir [/usr/include/mysql]
                pkglibdir     [/usr/lib/mysql]
                plugindir     [/usr/lib/mysql/plugin]
 
可以看到库文件信息: --libs           [-L/usr/lib/mysql -lmysqlclient]

 


4.源码编译

   这时在终端输入:

gcc connect-mysql.c -L /usr/lib/mysql/ -lmysqlclient

成功编译,然后执行文件,到此连接mysql成功!

 
 

本文出自 “成鹏致远” 博客,请务必保留此出处http://infohacker.blog.51cto.com/6751239/1154999

原文地址:https://www.cnblogs.com/lcw/p/3159518.html