`
chaotang0281
  • 浏览: 46640 次
  • 性别: Icon_minigender_2
  • 来自: 威海
社区版块
存档分类
最新评论

linux下连接mysql

阅读更多

今天想在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配置.docx

    在Linux环境下,连接MySQL数据库通常涉及安装必要的软件包、配置ODBC(Open Database Connectivity)以及设置数据源名称(DSN)。以下将详细解释这个过程: 首先,你需要安装`unixODBC`,这是一个开源的ODBC管理器...

    解决Linux下tomcat连接MySQL数据库

    通过这种方式,我们可以解决Tomcat在Linux环境下无法连接MySQL数据库的问题。然而,为了保持系统的安全性,务必谨慎处理权限设置,并定期审查和更新这些策略。同时,对于数据库连接,使用连接池和适当的认证机制也是...

    Linux下ORACLE 使用dblink连接mysql_lijilinjy的专栏-CSDN博客.mhtml

    Linux下ORACLE 使用dblink连接mysql_lijilinjy的专栏-CSDN博客.mhtml

    linux下用c语言连接mysql

    linux下用c语言连接mysql,都是一些C语言连接在linux系统下连接mysql的代码

    Linux 下Qt5.9.1连接MySql驱动

    Qt5.9.1MySql驱动

    linux下QT连接mysql数据库[定义].pdf

    Linux 下 QT 连接 MySQL 数据库 Linux 下 QT 连接 MySQL 数据库是指使用 QT 框架连接 MySQL 数据库的过程。QT 是一个跨平台的应用程序开发框架,可以在 Linux、Windows 和 macOS 等多个平台上运行。MySQL 是一个...

    Linux下安装Mysql

    本文将详细介绍如何在Linux环境下通过RPM包来安装MySQL。 首先,我们需要理解RPM(Red Hat Package Manager)是什么。RPM是一种用于管理Linux软件包的标准格式,它提供了安装、升级、查询和卸载软件的方便方式。在...

    linux下oracle通过unixODBC连接MySQL

    linux下oracle通过unixODBC连接MySQL linux下oracle通过unixODBC连接MySQL

    linux下开发,连接mysql数据库头文件和库文件(32位和64位)

    linux下开发,连接mysql数据库时候用到的头文件和库文件,32位和64位的都有,直接解压根据系统选择32位还是64位,把mysql_include和mysql_lib两个文件夹复制到主文件同级目录,然后makefile里面这样编译gcc -I./...

    linux下QT连接mysql数据库.doc

    QT 连接 MySQL 数据库在 Linux 平台下的实现 在 Linux 平台下,使用 QT 连接 MySQL 数据库是一种常见的应用场景。本文将详细介绍如何使用 QT 连接 MySQL 数据库,并提供了相关的代码示例。 首先,需要安装 MySQL ...

    mysql-connector-java Linux下MySQL的JDBC驱动Jar包

    5. 使用JDBC连接MySQL: 一旦驱动被正确配置,Java程序可以通过以下步骤建立到MySQL的连接: - 加载驱动:`Class.forName("com.mysql.jdbc.Driver");` - 创建连接:`Connection conn = DriverManager.get...

    Informatica_Linux下配置MySQL的ODBC连接

    介绍了在linux如何使用Informatica PowerCentor设置到MySQL的连接,本文分别提出MySQL企业版本及社区的连接方案

    Linux下安装mysql

    ### Linux 下安装 MySQL 在 Linux 系统中安装 MySQL 数据库是一项常见的任务,尤其是在搭建 Web 服务器或开发环境中。本文将详细介绍如何在 Linux 系统上安装 MySQL,并提供相关的配置和管理指南。 #### 准备工作 ...

    linux下C语言连接mysql数据库.docx

    Linux 下 C 语言连接 MySQL 数据库 Linux 操作系统下的 C 语言连接 MySQL 数据库是指在 Linux 平台上使用 C 语言编写程序来连接 MySQL 数据库,实现数据库的 CURD 操作(Create、Retrieve、Update、Delete)。本...

    linux下C++连接mysql实例

    在Linux环境下,使用C++与MySQL数据库进行交互是一...以上就是关于“Linux下C++连接MySQL实例”的主要知识点,这只是一个基础的示例,实际开发中可能涉及到更多复杂的功能,如事务处理、预编译语句、游标、批量插入等。

    Linux mysql访问慢

    Linux MySQL 访问慢解决方案 MySQL 是一个功能强大且广泛使用的关系数据库管理系统,对于 Linux 操作系统尤其重要。本文将解决 Linux 上 MySQL 访问慢的问题,提供详细的解决方案和配置方法。 问题描述 MySQL 访问...

    MySQL在linux下的使用方法(经典很不错)

    下面将详细介绍如何在Linux下连接MySQL,修改密码,添加用户,以及执行基本的数据库管理操作。 1. **连接MySQL** - **本地连接**: 在命令行中切换到MySQL的bin目录,如`/usr/bin`或`/usr/local/mysql/bin`,然后...

    Linux下C++连接mysql数据库

    Linux下C++连接mysql数据库,供大家一起共同分享学习。

    mysql在linux下安装包mysql在linux下安装包

    以下将详细阐述如何在Linux环境下安装MySQL,以及提供的压缩包文件所代表的组件。 首先,我们需要了解Linux系统中的软件包管理器,如`yum`或`dnf`(在Fedora/CentOS/RHEL等系统中常见),它们用于安装、更新和管理...

    在Linux下安装Mysql(非root)

    Linux 下非 Root 用户安装 Mysql 在 Linux 操作系统中安装 Mysql 数据库可以通过多种方式实现,包括使用源代码编译安装和二进制安装。对于非 Root 用户来说,安装 Mysql 可能会遇到一些权限问题,但是通过正确的...

Global site tag (gtag.js) - Google Analytics