mysql外部数据源_FTP使用外部数据源

第一步安装FTP组件

这个就不说了

第二步安装开发工具组件

yum -y groupinstall "Development Tools" "Server Platform Development"

第三步安装数据库等功能组件

yum -y install mariadb-server openssl-devel pam-devel mariadb-devel

f7cf5f0f28a74af6c84230260a18a8f7.png

mariadb的程序文件大部分都在/usr/bin下

5258b95a829bc4c9834d58a0d860f7e7.png

openssl 的主程序也在/usr下

c6a67d1dd6340a3efa93d28a94f81343.png

pam程序 在/usr下 pam_mod的目录在/usr/lib64/security

第四步启动MYSQL服务

systemctl start mariadb.service

第五步安装PAM_MYSQL插件

解压、编译、安装

tar -xf pam_mysql-0.7RC1.tar.gz

./configure --with-mysql=/usr --with-openssl=/usr --with-pam=/usr --with-pam-mods-dir=/usr/lib64/security

make && make install

fee537937f1fce99b9e8ee103a4e75c4.png

输出以上内容表示PAM-MYSQL插件安装成功

第六步 数据库操作

1、创建数据库

3f9b0f89b717c261ad30cca7c29dd04a.png

2、切换数据库

803f06e6860c9579a21f54e3aa488427.png

3、创建表格

3c7460c8cbb761dc9783b80afd64fca1.png

4、查看表格结构

e764365bb4b17efbde560431235fffb7.png

5、插入测试用户信息

d7959c231997f257d20316cab465df26.png

6、查看插入结果

86e894bfb29f5ac111efcf614bc95cab.png

7、给连接用户授权(程序之间的通信用户)

37344445eca667b277f7c07046e809f2.png

d1a58df3cf328ac7110a3011cd35c23f.png

8、测试程序通信用户的有效性

9b29def8bf137b3ba00e13b10f49aa24.png

第七步:修改认证配置文件

d63212120743b47c8c8c41d366185d59.png

424b1e33de4ef4c5cdfd5159e67c4db6.png

user/passwd 用于与数据库对接的用户名和密码

host 指定数据库IP地址

db 用户信息所在的数据库

table 用户信息所在的表

usercolumn 用户名列

passwdcolumn 密码列

crypt 数据库中用户密码的加密方式

pam_mysql.so 这个是相对路径,相对/lib64/security/

auth 和 account 是一对  auth 指定认证方式 account 负责认证

第八步:创建系统用户

每一个虚拟用户最终会映射到一个系统用户

5fb8605787776295eb027dbf213d87a1.png

第九步:修改vsftpd.conf 配置文件

549e96cd1a711d919894104dd5201a7b.png

第十步:启动/重启vsftpd服务

a3c87387f4e53035f87fd1ff49b7ac7a.png

第十一步:测试

970d0360b06938b4614fd6c3faee431e.png

额外补充

a、虽然外部数据源用户映射到了系统用户,但是上传数据还是使用的是匿名用户权限,所以如果外部数据源用户想上传文件,就需要开启匿名用户上传功能,同时映射系统用户还要对目标目录有写权限。FTP根目录不能有写权限,再次提醒,如果想上传文件,需要在FTP根目录下创建一个目录修改权限再上传。

b、可以根据用户给权限,user_config_dir(每个用户的配置文件路径,文件名与用户名相同)。

测试一个功能,一个用户可以上传文件,另一个用户不能上传文件

1、vsftpd.conf中增加一个配置参数

05a537ab4d96be58b0624ad2011ffe5f.png

2、根据用户修改权限

b21c097ab02d4e7b60eee29052df61d8.png

ba844fb7c1d8a4d5210ffd9e4130d692.png

a891a6942345e6261611ac5847128787.png

上面是zhengyue的测试过程

下面看看yueyu208

4c757e78040055c9d3cc83afc24953f0.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DataX 是阿里巴巴集团开源的一款数据同步工具,它支持多种数据源之间的同步,包括 Hive、MySQL、Oracle 等常见关系型数据库以及 HDFS、FTP 等非关系型数据源。下面介绍如何使用 DataX 将 Hive 和 MySQL 中的表互导。 首先需要在本地和远程服务器上安装好 DataX。然后创建一个名为 job.json 的配置文件,内容如下: ``` { "job": { "content": [ { "reader": { "name": "hdfswriter", "parameter": { "path": "/user/hive/warehouse/myhive.db/myhive_table", "defaultFS": "hdfs://localhost:9000", "fileType": "orc", "column": [ "col1", "col2", "col3" ] } }, "writer": { "name": "mysqlwriter", "parameter": { "url": "jdbc:mysql://localhost:3306/test", "username": "root", "password": "123456", "table": "mysql_table", "column": [ "col1", "col2", "col3" ] } } } ], "setting": { "speed": { "channel": "3" } } } } ``` 该配置文件定义了一个数据同步任务,将 Hive 中的 myhive_table 表导入到 MySQL 中的 mysql_table 表中。其中,hdfswriter 和 mysqlwriter 分别表示数据源和目标源的类型,parameter 参数中定义了数据源和目标源的详细信息。column 参数定义了需要同步的列。 执行以下命令启动 DataX 任务: ``` python datax.py job.json ``` 该命令会按照配置文件中的定义开始数据同步任务。在数据量较大的情况下,可以通过修改 job.json 中的 speed 参数来调整数据同步的速度,以避免对源和目标服务器的负载过大。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值