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)



感谢支持,长期连载

欢迎关注

相关推荐
geovindu5 小时前
sql:SQL Pagination and Limiting Results using PorstgreSQL 18.0
大数据·数据仓库·sql·postgresql·数据库开发·数据库架构·1024程序员节
不脱发的程序猿6 小时前
纳指ETF量化策略
数据库·人工智能·1024程序员节
程序员塔塔喵7 小时前
【MySQL篇|第一篇】索引失效的情况
数据库·mysql·索引失效
paopaokaka_luck7 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
北京青蓝智慧马老师7 小时前
比外部黑客更难防的,是那个有权限的自己人(3 个脱敏复盘)
大数据·数据库·人工智能
笃行3508 小时前
拆一台数据集成产品:KFS 的骨架、肌肉和神经
数据库
4SAPI8 小时前
搭建 AI 数据分析工具大模型 API 选型指南
数据库·人工智能·架构·php·1024程序员节
paopaokaka_luck9 小时前
心理咨询管理系统(WebSocket实时沟通、基于用户的协同过滤、 ECharts多维分析、 预约业务流程、预约校验与定时处理)
java·vue.js·spring boot·mysql·spring·echarts·1024程序员节
码士集团小青9 小时前
面霸篇:高频 Java 基础问题(核心卷一)
linux·服务器·数据库·redis·缓存·1024程序员节
2301_32241428049 小时前
springboot农产品交易平台的设计与实现08055-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·spring boot·redis·mysql·tomcat·maven·mybatis