mysql为创建普通用户并创建库赋权

@bit::Shadow
✧(≖ ◡ ≖✿

目录

环境验证

链接MySQL的C头文件验证

相关动静态库验证

创建用户

赋权

登录

mysql链接验证test.c

编译


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

如何配置环境此处不讲

环境验证

链接MySQL的C头文件验证

bash 复制代码
ls /usr/incluse/mysql/

相关动静态库验证

bash 复制代码
find /usr/lib -name "libmysqlclient*" 2>/dev/null

创建用户

普通用户并设置密码

sql 复制代码
create user '用户名'@'登陆主机/ip' identified by '密码';

限制仅本地登录(localhost)

验证创建是否成功

赋权

指明某库的权限赋予

sql 复制代码
grant 权限列表 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码']

普通端验证权限赋予情况

登录

对端登录:

mysql链接验证test.c

#include<mysql/mysql.h>

cpp 复制代码
#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;
}

编译

bash 复制代码
gcc test.c -o test $(mysql_config --cflags --libs)



感谢支持,长期连载

欢迎关注

相关推荐
AllData公司负责人4 小时前
AI大模型数据开发底座系列说明书,AllData集成Chat2DB开源项目建设AI 数据库分析底座,涵盖AI 洞察/对话SQL/智能视图!
数据库·人工智能·sql·开源·ai 洞察·对话sql
xixingzhe24 小时前
数据库备份的分类与特点
数据库
时间的拾荒人7 小时前
Redis 主从复制详解:配置实操 + 原理机制
数据库·redis·面试
隔窗听雨眠8 小时前
MySQL三表JOIN执行内核与优化器决策机制
数据库·mysql·sql优化
Decay__9 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
笃行35010 小时前
【金仓数据库产品体验官】订单增量同步实战:MERGE、OUTPUT 与 IDENTITY 的兼容验证
数据库
星恒随风13 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
无奈笑天下15 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
xiaoye-duck16 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型
AllData公司负责人16 小时前
AI大模型数据开发底座系列说明书:AllData集成DB-GPT开源项目建设 AI 多模态分析底座,涵盖模态解析/智能大屏/MCP 扩展!
大数据·数据库·人工智能·gpt·数据采集·数据接入·模态解析