今天想在linux下连接mysql, 在官网上下了三个rpm文件,
MySQL-client-community-5.1.46-1.rhel5.i386.rpm
MySQL-server-community-5.1.46-1.rhel5.i386.rpm
MySQL-devel-community-5.1.46-1.rhel5.i386.rpm(开发需要)
下载地址在:
http://dev.mysql.com/downloads/mysql/
可是在网上找了段连接数据库的代码,编辑后,怎么也通不过。
说:undefined reference to `mysql_init'
一系列错误,在网上找了老半天,发现有一个人的解决方面,不过具体的为什么,俺再看看,先把解决方法贴出来。
转自:http://news.newhua.com/news1/programming/2008/117/08117112326B3JDK7CCHKI0BKFCH8H1.html
/* Simple C program that connects to MySQL Database server*/
#include
#include
main() {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "localhost";
char *user = "root";
char *password = ""; /* 此处改成你的密码 */
char *database = "mysql";
conn = mysql_init(NULL);
/* Connect to database */
if (!mysql_real_connect(conn, server,
user, password, database, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
/* send SQL query */
if (mysql_query(conn, "show tables")) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn);
/* output table name */
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s \n", row[0]);
/* close connection */
mysql_free_result(res);
mysql_close(conn);
}
编译和连接程序
MySQL中有一个特殊的脚本,叫做mysql_config.
它会为你编译MySQL客户端,并连接到MySQL服务器提供有用的信息.你需要使用下面两个选项.
1. --libs 选项 - 连接MySQL客户端函数库所需要的库和选项.
$ mysql_config --libs
输出:
-L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl
-lm -L/usr/lib64 -lssl -lcrypto
2. --cflags 选项 - 使用必要的include文件的选项等等.
$ mysql_config --cflags
输出:
-I/usr/include/mysql -g -pipe -m64 -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing
你需要将上面两个选项加入到对源文件的编译命令中. 所以,要编译上面的程序,要使用下面的命令:
$ gcc -o output-file $(mysql_config --cflags)
mysql-c-api.c $(mysql_config --libs)
执行编译后的程序:
$ ./output.file
希望对你有帮助!
分享到:
相关推荐
在Linux环境下,连接MySQL数据库通常涉及安装必要的软件包、配置ODBC(Open Database Connectivity)以及设置数据源名称(DSN)。以下将详细解释这个过程: 首先,你需要安装`unixODBC`,这是一个开源的ODBC管理器...
通过这种方式,我们可以解决Tomcat在Linux环境下无法连接MySQL数据库的问题。然而,为了保持系统的安全性,务必谨慎处理权限设置,并定期审查和更新这些策略。同时,对于数据库连接,使用连接池和适当的认证机制也是...
Linux下ORACLE 使用dblink连接mysql_lijilinjy的专栏-CSDN博客.mhtml
linux下用c语言连接mysql,都是一些C语言连接在linux系统下连接mysql的代码
Qt5.9.1MySql驱动
Linux 下 QT 连接 MySQL 数据库 Linux 下 QT 连接 MySQL 数据库是指使用 QT 框架连接 MySQL 数据库的过程。QT 是一个跨平台的应用程序开发框架,可以在 Linux、Windows 和 macOS 等多个平台上运行。MySQL 是一个...
本文将详细介绍如何在Linux环境下通过RPM包来安装MySQL。 首先,我们需要理解RPM(Red Hat Package Manager)是什么。RPM是一种用于管理Linux软件包的标准格式,它提供了安装、升级、查询和卸载软件的方便方式。在...
linux下oracle通过unixODBC连接MySQL linux下oracle通过unixODBC连接MySQL
linux下开发,连接mysql数据库时候用到的头文件和库文件,32位和64位的都有,直接解压根据系统选择32位还是64位,把mysql_include和mysql_lib两个文件夹复制到主文件同级目录,然后makefile里面这样编译gcc -I./...
QT 连接 MySQL 数据库在 Linux 平台下的实现 在 Linux 平台下,使用 QT 连接 MySQL 数据库是一种常见的应用场景。本文将详细介绍如何使用 QT 连接 MySQL 数据库,并提供了相关的代码示例。 首先,需要安装 MySQL ...
5. 使用JDBC连接MySQL: 一旦驱动被正确配置,Java程序可以通过以下步骤建立到MySQL的连接: - 加载驱动:`Class.forName("com.mysql.jdbc.Driver");` - 创建连接:`Connection conn = DriverManager.get...
介绍了在linux如何使用Informatica PowerCentor设置到MySQL的连接,本文分别提出MySQL企业版本及社区的连接方案
### Linux 下安装 MySQL 在 Linux 系统中安装 MySQL 数据库是一项常见的任务,尤其是在搭建 Web 服务器或开发环境中。本文将详细介绍如何在 Linux 系统上安装 MySQL,并提供相关的配置和管理指南。 #### 准备工作 ...
Linux 下 C 语言连接 MySQL 数据库 Linux 操作系统下的 C 语言连接 MySQL 数据库是指在 Linux 平台上使用 C 语言编写程序来连接 MySQL 数据库,实现数据库的 CURD 操作(Create、Retrieve、Update、Delete)。本...
在Linux环境下,使用C++与MySQL数据库进行交互是一...以上就是关于“Linux下C++连接MySQL实例”的主要知识点,这只是一个基础的示例,实际开发中可能涉及到更多复杂的功能,如事务处理、预编译语句、游标、批量插入等。
Linux MySQL 访问慢解决方案 MySQL 是一个功能强大且广泛使用的关系数据库管理系统,对于 Linux 操作系统尤其重要。本文将解决 Linux 上 MySQL 访问慢的问题,提供详细的解决方案和配置方法。 问题描述 MySQL 访问...
下面将详细介绍如何在Linux下连接MySQL,修改密码,添加用户,以及执行基本的数据库管理操作。 1. **连接MySQL** - **本地连接**: 在命令行中切换到MySQL的bin目录,如`/usr/bin`或`/usr/local/mysql/bin`,然后...
Linux下C++连接mysql数据库,供大家一起共同分享学习。
以下将详细阐述如何在Linux环境下安装MySQL,以及提供的压缩包文件所代表的组件。 首先,我们需要了解Linux系统中的软件包管理器,如`yum`或`dnf`(在Fedora/CentOS/RHEL等系统中常见),它们用于安装、更新和管理...
Linux 下非 Root 用户安装 Mysql 在 Linux 操作系统中安装 Mysql 数据库可以通过多种方式实现,包括使用源代码编译安装和二进制安装。对于非 Root 用户来说,安装 Mysql 可能会遇到一些权限问题,但是通过正确的...