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

来源:互联网 发布:php文件加密 编辑:程序博客网 时间:2024/05/20 06:09

1.MYSQL数据库安装

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

sudo apt-get install mysql-serversudo apt-get install mysql-clientsudo 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;}

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