C语言连接MYSQL问题

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

写了一个连接MYSQL的C程序,出现以下错误信息:

cc -I/usr/include/mysql -Wall -g  -lmysqlclient -g -L/usr/lib  connect1.c   -o connect1
/tmp/ccykDQvd.o: In function `main':
/home/jie/Beginning Linux Program/ch08/connect1.c:9: undefined reference to `mysql_init'
/home/jie/Beginning Linux Program/ch08/connect1.c:15: undefined reference to `mysql_real_connect'
/home/jie/Beginning Linux Program/ch08/connect1.c:24: undefined reference to `mysql_close'
collect2: ld 返回 1
make: *** [connect1] 错误 1

从出错信息看,是链接库找不到的问题。
因此查看了 /usr/lib 下的库文件发现:


[jie@jie:/usr/lib]$ls libmysqlclient*
libmysqlclient.a    libmysqlclient_r.so     libmysqlclient_r.so.16.0.0  libmysqlclient.so.16
libmysqlclient_r.a  libmysqlclient_r.so.16  libmysqlclient.so           libmysqlclient.so.16.0.0

链接库路径没错,库文件也有,怎么就找不到呢?
附上简单源码:
01.#include<stdlib.h>                                                                  

02.#include <stdio.h>

03.

04.#include "mysql.h"

05.

06.int main(int argc, char *argv[]) {

07.   MYSQL *conn_ptr;

08.

09.   conn_ptr = mysql_init(NULL);

10.   if (!conn_ptr) {

11.      fprintf(stderr, "mysql_init failed\n");

12.      return EXIT_FAILURE;

13.   }

14.  

15.   conn_ptr = mysql_real_connect(conn_ptr, "localhost", "jie", "edgeyang",

16.                                                     "children", 0, NULL, 0);

17.

18.   if (conn_ptr) {

19.      printf("Connection success\n");

20.   } else {

21.      printf("Connection failed\n");

22.   }

23.

24.   mysql_close(conn_ptr);

25.

26.   return EXIT_SUCCESS;

27.}
复制代码另外,使用的系统刚升级为UBUNTU 11.10,MYSQL 版本信息如下:

Server version                5.1.58-1ubuntu1
Protocol version        10
Connection                Localhost via UNIX socket
UNIX socket                /var/run/mysqld/mysqld.sock
Uptime:                        5 hours 41 min 40 sec

在系统升级之前,同样的程序是可以连接到MYSQL的!










本文转自 wws5201985 51CTO博客,原文链接:http://blog.51cto.com/wws5201985/772302,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
余二五
+关注
目录
打赏
0
0
0
0
235
分享
相关文章
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
C 语言中的数据类型转换:连接不同数据世界的桥梁
C语言中的数据类型转换是程序设计中不可或缺的一部分,它如同连接不同数据世界的桥梁,使得不同类型的变量之间能够互相传递和转换,确保了程序的灵活性与兼容性。通过强制类型转换或自动类型转换,C语言允许开发者在保证数据完整性的前提下,实现复杂的数据处理逻辑。
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
182 25
Unity连接Mysql数据库 增 删 改 查
在 Unity 中连接 MySQL 数据库,需使用 MySQL Connector/NET 作为数据库连接驱动,通过提供服务器地址、端口、用户名和密码等信息建立 TCP/IP 连接。代码示例展示了如何创建连接对象并执行增删改查操作,确保数据交互的实现。测试代码中,通过 `MySqlConnection` 类连接数据库,并使用 `MySqlCommand` 执行 SQL 语句,实现数据的查询、插入、删除和更新功能。
【MySQL基础篇】多表查询(隐式/显式内连接、左/右外连接、自连接查询、联合查询、标量/列/行/表子查询)
本文详细介绍了MySQL中的多表查询,包括多表关系、隐式/显式内连接、左/右外连接、自连接查询、联合查询、标量/列/行/表子查询及其实现方式,一文全面读懂多表联查!
【MySQL基础篇】多表查询(隐式/显式内连接、左/右外连接、自连接查询、联合查询、标量/列/行/表子查询)
DBeaver连接MySQL提示Access denied for user ‘‘@‘ip‘ (using password: YES)
“Access denied for user ''@'ip' (using password: YES)”错误通常与MySQL用户权限配置或网络设置有关。通过检查并正确配置用户名和密码、用户权限、MySQL配置文件及防火墙设置,可以有效解决此问题。希望本文能帮助您成功连接MySQL数据库。
632 4
【赵渝强老师】MySQL的连接方式
本文介绍了MySQL数据库服务器启动后的三种连接方式:本地连接、远程连接和安全连接。详细步骤包括使用root用户登录、修改密码、创建新用户、授权及配置SSL等。并附有视频讲解,帮助读者更好地理解和操作。
888 1
docker拉取MySQL后数据库连接失败解决方案
通过以上方法,可以解决Docker中拉取MySQL镜像后数据库连接失败的常见问题。关键步骤包括确保容器正确启动、配置正确的环境变量、合理设置网络和权限,以及检查主机防火墙设置等。通过逐步排查,可以快速定位并解决连接问题,确保MySQL服务的正常使用。
277 82
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。

推荐镜像

更多