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)



感谢支持,长期连载

欢迎关注

相关推荐
Q26433650231 小时前
【有源码】基于springboot的知识产权管理系统-知识产权咨询问答管理系统-知识产权价值评估管理系统
java·spring boot·mysql·spring·毕业设计·javaweb·课程设计
Studying 开龙wu1 小时前
CVAT 导出崩溃排查实录:一个空壳轨迹引发的连锁反应
数据库·sqlite
PaperData9 小时前
1985-2025年全国区县专利申请与授权面板数据
数据库
snpgroupcn9 小时前
大数据量SAP迁移方案:系统越大,越不能硬搬
数据库·sap
Flynt10 小时前
Redis Cluster主节点挂了,为什么"高可用"还全员掉线?我把三次kill的记录翻出来了
数据库·redis·分布式
笃行35010 小时前
KingbaseES 数据加密全解:从 SSL 到全密态
数据库
Ivanqhz11 小时前
激活函数在 Transformer 中的作用及各种变体简述
java·linux·数据库·人工智能·深度学习
Seraphina3611 小时前
SQLI-labs(一)黑盒全流程
sql·安全·web安全
java1234_小锋12 小时前
【技术专题】Mysql8 数据库 - Mysql8 数据类型简介
数据库·mysql