✧(≖ ◡ ≖✿
目录
本文介绍MySQL客户端环境配置与C语言连接验证流程:安装开发包后验证头文件及库文件,创建本地用户并授予权限;通过编写test.c程序,使用mysql_init、mysql_real_connect等函数连接MySQL,执行SELECT VERSION()查询,输出版本信息。编译时使用mysql_config获取编译链接参数,最终实现C程序安全访问MySQL数据库。
如何配置环境此处不讲
环境验证
链接MySQL的C头文件验证
ls /usr/incluse/mysql/

相关动静态库验证
find /usr/lib -name "libmysqlclient*" 2>/dev/null

创建用户
普通用户并设置密码
create user '用户名'@'登陆主机/ip' identified by '密码';

限制仅本地登录(localhost)
验证创建是否成功

赋权
指明某库的权限赋予
grant 权限列表 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码']


普通端验证权限赋予情况

登录
对端登录:

mysql链接验证test.c
#include<mysql/mysql.h>
#include <stdio.h>
#include <mysql/mysql.h>
int main(void)
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
conn = mysql_init(NULL);
if (conn == NULL) {
fprintf(stderr, "mysql_init failed\n");
return 1;
}
if (mysql_real_connect(conn, "localhost", "root", "你的密码",
NULL, 0, NULL, 0) == NULL) {
fprintf(stderr, "connect failed: %s\n", mysql_error(conn));
mysql_close(conn);
return 1;
}
if (mysql_query(conn, "SELECT VERSION()") != 0) {
fprintf(stderr, "query failed: %s\n", mysql_error(conn));
mysql_close(conn);
return 1;
}
res = mysql_store_result(conn);
if (res == NULL) {
fprintf(stderr, "store_result failed: %s\n", mysql_error(conn));
mysql_close(conn);
return 1;
}
while ((row = mysql_fetch_row(res)) != NULL) {
printf("MySQL version: %s\n", row[0]);
}
mysql_free_result(res);
mysql_close(conn);
return 0;
}
编译
gcc test.c -o test $(mysql_config --cflags --libs)

感谢支持,长期连载
欢迎关注

转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/oooooooooooohd/article/details/166948996




