当前位置:   article > 正文

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

ubuntu vscode mysql

首先下载并解压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中打开一个新的文件,输入以下代码:

  1. #include <stdio.h>
  2. #include <mysql.h>
  3. int main(void) {
  4. MYSQL *conn;
  5. conn = mysql_init(NULL);
  6. if (conn == NULL) {
  7. printf("初始化失败!\n");
  8. return 1;
  9. }
  10. if (mysql_real_connect(conn, "localhost", "root", "password", NULL, 0, NULL, 0) == NULL) {
  11. printf("连接失败!\n");
  12. mysql_close(conn);
  13. return 1;
  14. }
  15. printf("连接成功!\n");
  16. mysql_close(conn);
  17. return 0;
  18. }

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

  1. gcc -o main main.c `mysql_config --cflags --libs`
  2. ./main

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

  1. gcc -o main main.c -I/usr/local/include/mysql -L/usr/local/lib -lmysqlclient
  2. ./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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/832292
推荐阅读
相关标签
  

闽ICP备14008679号