C++程序要连接MySQL数据库,分别需要:
1.安装MySQL Server
2.在IDE中配置依赖
3.在代码中调用MySQL库

一、安装MySQL Server

1.在浏览器里打开MySQL的官网http://www.mysql.com/

2.进入页面顶部的"Downloads"

c++连接mysql c++连接mysql 安装驱动_mysql


3.打开页面底部的“MySQL Community(GPL) Downloads”

c++连接mysql c++连接mysql 安装驱动_mysql_02


4.点击MySQL Installer for Windows,在Windows安装MySQL

c++连接mysql c++连接mysql 安装驱动_c++连接mysql_03


5.上面比较小的是在线安装,下面大的是离线安装。这里果断选择离线安装。

注意:MSI格式是指windows的安装程序,下载后直接双击就能进入安装向导的那种,区别于对文件进行解压的安装方式;

c++连接mysql c++连接mysql 安装驱动_数据库_04


6.这个页面告诉询问你是否登录,告诉你登录之后有哪些好处,我们不登录,点击页面底部的“No thanks, just start my download.”按钮进入下载页面(直接下载速度太慢,用迅雷下载会快很多)

c++连接mysql c++连接mysql 安装驱动_数据库_05


7.下载完成后打开选择Custom(或者Server only)

(建议只安装数据库服务器,不要选系统默认的,否则会默认下载很多与mysql相关的软件!)

Developer Default(系统默认)——安装MySQL开发所需的所有产品

Server only(仅服务器)——只安装MySQL服务器产品

Client only(仅客户端)——只安装MySQL客户端产品

FUll(完全的)——安装所有包含的MySQL产品和特性

Custom(自定义)——手动选择安装在系统上的产品

c++连接mysql c++连接mysql 安装驱动_MySQL_06


c++连接mysql c++连接mysql 安装驱动_c++连接mysql_07


8.把MySQL Serve添加到右侧,点击Next(这里的Development Coponents对应的是接下来C++程序要链接的动态库libmysql.dll)

c++连接mysql c++连接mysql 安装驱动_数据库_08


9.一直next直到在Root Account Password设置数据库root账号的密码,输入完密码后点Next

c++连接mysql c++连接mysql 安装驱动_MySQL_09


10.设置名称,并取消开机启动

c++连接mysql c++连接mysql 安装驱动_mysql_10


11.一直next然后Finish

c++连接mysql c++连接mysql 安装驱动_MySQL_11


12.测试安装是否成功,打开菜单,打开MySQL命令行

c++连接mysql c++连接mysql 安装驱动_数据库_12


13.输入密码(密码错误会自动退出)

c++连接mysql c++连接mysql 安装驱动_c++连接mysql_13


14.安装成功

c++连接mysql c++连接mysql 安装驱动_c++连接mysql_14


二、在IDE中配置依赖

1.先将配置调成x64,因为我们下载的是x64的MySQL

c++连接mysql c++连接mysql 安装驱动_c++连接mysql_15


2.然后点击工具栏的项目,打开项目属性

c++连接mysql c++连接mysql 安装驱动_c++连接mysql_16


3.点击C/C++—》常规—》附录包含目录,点编辑

c++连接mysql c++连接mysql 安装驱动_c++连接mysql_17


4.把include路径添加进去,我的是C:\Program Files\MySQL\MySQL Server 8.0\include,include里面包含了mysql.h等头文件

c++连接mysql c++连接mysql 安装驱动_c++连接mysql_18


5.点击链接—》常规—》附加库目录,点编辑

c++连接mysql c++连接mysql 安装驱动_MySQL_19


6.把lib路径添加进去,我的是C:\Program Files\MySQL\MySQL Server 8.0\lib

c++连接mysql c++连接mysql 安装驱动_数据库_20


三、在代码中调用MySQL库

1.测试代码:

#include<iostream>
#include <mysql.h>

#pragma comment(lib,"wsock32.lib")
#pragma comment(lib,"libmysql.lib")

int main()
{
    std::cout << "Hello World!\n";
    //Link Mysql
    MYSQL* conn;
    MYSQL_RES* res;
    MYSQL_ROW row;
    const char* server = "localhost";
    const char* user = "root";
    const char* password = "Password";  // got tot keep my data secret
    const char* database = "Database";
    conn = mysql_init(NULL);

    // connect to database
    if (!mysql_real_connect(conn, server, user, password, database, 3306, NULL, 0))
    {
        std::cout << stderr << "%s\n" << mysql_error(conn);
        return -1;
    }

    // send SQL query
    if (mysql_query(conn, "select * from tables"))
    {
        std::cout << stderr << "%s\n" << mysql_error(conn);
        return -1;
    }

    res = mysql_use_result(conn);

    // output table name
    while ((row = mysql_fetch_row(res)) != NULL)
    {
        printf("%s %s %s %s\n", row[0], row[1], row[2], row[3]);
    }

    // close connection
    mysql_free_result(res);
    mysql_close(conn);
}

2.报错找不到libmysql.dll,找到libmysql.dll(C:\Program Files\MySQL\MySQL Server 8.0\lib),复制到项目工程里(或者复制到C:\Windows\System32)

c++连接mysql c++连接mysql 安装驱动_MySQL_21


c++连接mysql c++连接mysql 安装驱动_MySQL_22


c++连接mysql c++连接mysql 安装驱动_c++_23


3.运行成功

c++连接mysql c++连接mysql 安装驱动_MySQL_24