【分布式存储项目】(1)MySQL数据库安装以及分布式文件上传

7 篇文章 0 订阅
2 篇文章 0 订阅

1.MYSQL数据库安装

环境:Linux Ubuntu 16.04
在线安装指令:

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev

查看数据库是否安装成功

sudo netstat -tap | grep mysql

得到如下状态

查看mysql的版本

sudo mysqladmin -u root -p version
//初始密码为空

得到如下状态
至此 MYSQL数据库安装完成

2.封装一个fastDFS的函数

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include "fdfs_client.h"
#include "logger.h"
#include "make_log.h"

int upload_func(const char *conf,char *src_file,char *file_id)
{
    //存储上传文件的组名
    char group_name[FDFS_GROUP_NAME_MAX_LEN + 1];
    //指向tracker的指针
    ConnectionInfo *pTrackerServer;
    int ret = 0;
    int store_path_index;
    //Server对象
    ConnectionInfo storageServer;

    //1.通过传入的配置文件初始化客户端信息
    int ret = fdfs_client_init(conf);
    if(ret < 0){
        //调用LOG函数向日志中写入
        return ret;
    }

    //2.链接追踪器tracker
    pTrackerServer = tracker_get_connection();
    if(pTrackerServer == NULL){
        //tracker指针赋值错误,销毁客户端
    }

    *group_name='\0';

    //3.通过tracker得到存储节点的信息
    ret = tracker_query_storage_store(pTrackerServer);
    if(ret<0){
        //执行错判逻辑
    }

    //4.文件上传
    ret = storage_upload_by_filename(pTrackerServer, \
            &storageServer, store_path_index, \
            src_file, NULL, \
            NULL, 0, group_name, file_id);
    if(ret < 0){
        //执行错判逻辑
    }else{
        //文件上传成功
    }

    //断开客户端连接
    tracker_disconnect_server_ex(pTrackerServer,true);
    fdfs_client_destroy();

    return ret;
}

在实际执行中,要注意动态库的链接处理,会在下一节博文中介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值