在Ubuntu上使用VSCode编译MySQL Connector/C连接库

Posted naruto2017

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Ubuntu上使用VSCode编译MySQL Connector/C连接库相关的知识,希望对你有一定的参考价值。

首先下载并解压mysql Connector/C源码,然后执行以下步骤:

1、安装MySQL Connector/C依赖:在终端中输入以下命令来安装MySQL Connector/C的依赖项:

sudo apt-get install build-essential cmake

2、下载并解压MySQL Connector/C源码:在终端中输入以下命令来下载MySQL Connector/C源码,并解压:

从官网链接下载压缩包:https://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-6.1.11-src.tar.gz

3、打开vscode,创建新的工作区,将以上文件夹加入工作区。

4、在VSCode中打开终端(按Ctrl + Shift + `),并输入以下命令创建build文件夹并编译生成cmake文件:

cd mysql-connector-c-6.1.11-src
mkdir build
cd build
cmake ..

这里可能会报错CMake Error at cmake/install_macros.cmake:365 ,请看我另一篇文章:Ubuntu使用VSCode编译MySQL Connector/C库踩坑_naruto2017的博客-CSDN博客

5、编译连接库:在终端中输入以下命令来编译连接库:

make

6、安装连接库:在终端中输入以下命令来安装连接库:

sudo make install

7、配置链接器:在终端中输入以下命令来配置链接器:

sudo ldconfig

8、测试连接库:在VSCode中打开一个新的文件,输入以下代码:

#include <stdio.h>
#include <mysql.h>

int main(void) 
    MYSQL *conn;
    conn = mysql_init(NULL);

    if (conn == NULL) 
        printf("初始化失败!\\n");
        return 1;
    

    if (mysql_real_connect(conn, "localhost", "root", "password", NULL, 0, NULL, 0) == NULL) 
        printf("连接失败!\\n");
        mysql_close(conn);
        return 1;
    

    printf("连接成功!\\n");

    mysql_close(conn);

    return 0;

将其中的“password”替换为您的MySQL密码,然后点击菜单栏中的“终端”->“新终端”,在新打开的终端中输入以下命令来编译并运行程序:

gcc -o main main.c `mysql_config --cflags --libs`

./main

或(我使用下面这个命令才编译成功

gcc -o main main.c -I/usr/local/include/mysql -L/usr/local/lib -lmysqlclient

./main

如果程序输出“连接成功!”,则说明连接库已经成功编译并可以正常工作。

此外,如果mysql.sock文件不存在,可以使用以下命令建立软连接:

sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock

如果报错:Authentication plugin 'caching_sha2_password' cannot be loaded

使用/etc/mysql/debian.cnf文件中的超级用户登录mysql,在指定用户的修改密码页面,将其password加密方式修改为native

客户机登录时,可能会出现以下问题:

1. 客户机器连接服务器时,如果使用127.0.0.1或localhost可以访问,但使用服务器IP无法访问,需要做两件事:

a. 将mysql的服务器地址绑定为当前机器的IP:

修改/etc/mysql/mysql.conf.d/mysqld.cnf文件中的bind-address值为指定服务器的地址

bind-address = 服务器地址

b. 设定指定用户的登录信息中的host为AnyHost:

可以通过phpmyadmin登录,点击UserAccounts,将指定用户的LoginInformation的host值改为AnyHost,当然也可以用sql将指定用户的host字段的值改为'%',效果是一样的。

2. 如果报错:SSL connection error,可以在文件/etc/mysql/my.cnf最后添加以下内容,然后重启mysql服务器:

[mysqld]

skip_ssl

以上是关于在Ubuntu上使用VSCode编译MySQL Connector/C连接库的主要内容,如果未能解决你的问题,请参考以下文章

在 Ubuntu 上使用 VSCode 编译 C# 项目

开发环境Ubuntu 中使用 VSCode 开发 C/C++ ② ( 安装 GCC 编译器 )

开发环境Ubuntu 中使用 VSCode 开发 C/C++ ⑤ ( tasks.json 中的 args 数组配置分析 | 编译并执行 C++ 程序 )

开发环境Ubuntu 中使用 VSCode 开发 C/C++ ④ ( 创建 tasks.json 编译器构建配置文件 | tasks.json 编译器构建配置文件分析 )

开发环境Ubuntu 中使用 VSCode 开发 C/C++ ④ ( 创建 tasks.json 编译器构建配置文件 | tasks.json 编译器构建配置文件分析 )

开发环境Ubuntu 中使用 VSCode 开发 C/C++ ⑤ ( tasks.json 中的 args 数组配置分析 | 编译并执行 C++ 程序 )