首先下载并解压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