澳门皇冠金沙网站-澳门皇冠844网站

热门关键词: 澳门皇冠金沙网站,澳门皇冠844网站

搭建企业级FTP,安装及基本操作

MySql的前戏

在学习Mysql之前,我们先来想一下一开始做的登录注册案例,当时我们把用户的信息保存到一个文件中:

#用户名 |密码
root|123321
alex|123123

上面文件内容的规则是我自己定义的,你要想用我这个程序,必须按照我的规则去执行,但凡不是这个规则,就没有交流的余地。

在一开始的时候文件格式的规定是没有规范的,后面学到模块的时候逐渐知道了目录规则,我们会把文件放到db目录下。

类似下面目录结构:

图片 1

 

对于上面db目录中,是可以存放多个文件的,并且文件中可以有多行数据。

 

那么问大家一个问题,如果说上面那个软件是我写好的,在一台服务器或者一台机器上安装了我写好的软件。

现在有张三和李四两个人都安装了我这个软件,张三注册了一个用户,李四也注册了一个用户,那么自己注册的用户应该是自己用的。那么这两个用户是不共享的,

所以这个软件证明我写的不太好,它不能共享,这种类似单机的软件是不好的。

然后呢,我现在将我写的这个软件中目录修改一下,将db目录移除。现在将单机程序(自己的DB)改变成也是单机程序(公用DB)。

 

那么之前给大家介绍过,凡是交互操作,是离不开scoket的,那么现在我这边有个公用DB和一个scoket服务端,然后在张三和李四那边有scoket客户端。张三和李四此时输入用户名和密码,现在我这边scoket服务端某个目录接收用户输入的用户名和密码,看一下该用户名存在不存在,如果存在返回true,如果不存在返回false。也就是说重点的内容我们把db目录放到某台服务器上。

那么上面这个例子呢,其实就给大家慢慢的引出来mysql了,mysql呢其实就一个软件,这个软件安装到某台电脑上或者某台服务器上,那么现在只要我告诉它创建一个文件目录或者创建文件,那么mysql就自动帮我们创建了,比如说我们再在文件中添加一条数据,那么它也帮我们完成。

 

总结一句话:其实mysql就是用于管理我们的文件的一个软件。

 

那么对于mysql这个软件来说有两个软件

图片 2

---服务器软件
     - socket服务端
     - 本地文件操作
   - 解析指令(mysql语句)
---客户端软件
     - socket客户端
     - 发送指令
   - 解析指令(mysql语句)

图片 3

解释:

对于服务器软件中的socket服务器是一直开着,客户端得需要连接,并且还有创建文件、删除文件等等的操作

对于客户端软件中的scoket客户端,我们得需要发送指令去命令scoket服务端对文件进行操作。

 

大家应该知道ftp的项目,上传项目和下载项目的命令是不一样的。那么对于mysql中的客户端和服务端也会有些指令的操作,那么在这两个端中应该是有解析指令的过程,这个指令只有mysql这个软件知道,这种指令就是mysql语句。

再想想我们写的html、css、js.这些好比就是我们客户端写好的语法,然后浏览器充当了服务端的角色去解析我们的的语法,最后来渲染出来结果。

 

接下来我们要学习这些技能:

- 安装 服务端和客户端
- 连接
- 学习SOL语句规则:命令服务端做任何的操作

【 MySQL安装及基本操作】

数据库就是用来存储和管理数据的仓库!

  数据库以存储数据为先,优点如下:1、可存储大量数据;2、方便检索;3、保持数据的一致性、完整性;4、安全,可共享;5、通过组合分析,可产生新数据。

MySQL

  单机程序(自己DB,数据在本地保存)

  联机程序(公用DB,数据在存储服务器保存)

MySQL:是用于管理文件的一个软件,具有如下功能:
  - 服务端软件
  - socket服务端
  - 本地文件操作
  - 解析指令【SQL语句】
  - 客户端软件(各种各样版本的数据库操作软件)
  - socket客户端
  - 发送指令
  - 解析指令【SQL语句】

PS:
  - DBMS数据库管理系统
  - SQL语句

技能:
  - 安装 服务端和客户端
  - 连接 (客户端与服务端建立连接)
  - 学习SQL语句规则;指示服务端做任意操作

其他类似软件:
  关系型数据库:sqllite,db2,oracle,access,sql server MySQL (使用二维表格来存储数据;操作之前须建立连接)
  非关系型数据库:MongoDB,redis

RHEL  6.x  搭建企业级FTP

db4-utils vsftpd  搭建虚拟用户

二、MySQL安装

  MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

想要使用MySQL来存储并操作数据,则需要做几件事情:
  a. 安装MySQL服务端
  b. 安装MySQL客户端
  b. 【客户端】连接【服务端】
  c. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相应操作(增删改查等)

  MySQL官网下载地址: 

  官方windows版本的有两种包:

    一种是install 执行包,下载完直接双击运行,一路next安装;

    另一种是.zip的压缩包,官方把所有的功能都封装在这个包里,下载下来解压后用DOS安装。

  linux 安装:yum install mysql-server

此处介绍windows DOS安装压缩包的方法:

  1、下载后解压:可放在任意一个盘的 任意文件夹下(新建重命名也可),在该文件夹内解压。

  2、点击进入解压后生成的文件,会看到bin目录下有一大堆的可执行文件(注意:该目录中,客户端与服务端的执行程序同时存在,mysql.exe是服务端执行程序;mysqld.exe是客户端执行程序)。

  3、现在开始DOS安装的第一步,初始化数据库数据:以管理员身份运行cmd.exe,然后以绝对路径的方式切入数据库解压包下的bin目录,执行服务端初始化程序操作:mysqld --initialize-insecure。操作命令如下:(我是放在了D盘下:)

 

#初始化操作,第一步先以绝对路径的方式切入bin目录,在该目录下执行初始化操作!

C:windowssystem32>D:

D:>cd D:mysqlsetupmysql-5.7.18-winx64bin

D:mysqlsetupmysql-5.7.18-winx64bin>mysqld --initialize-insecure

 

4、回车之后,会停顿以下,然后在解压之后的目录下(与bin同级)会生成一个data文件夹,文件夹内有如图内容,证明初始化已完成!

图片 4图片 5

5、设置环境变量(在Path中添加  有两种方式:)

  a)第一种:直接把bin目录的绝对路径 加入到Path中,末尾加上;(分号)    

  6)第二种:先在第二个框中创建一个MYSQL_HOME的变量,路径中写入MySQL解压包的绝对路径,创建之后,在Path中以%MYSQL_HOME%bin;的方式添加变量!

            图片 6图片 7

6、设置完之后,在CMD命令提示符中进行测试,由于添加了环境变量,就可以直接在DOS中操作,而不用再切入bin绝对路径!操作如下:

 

#开一个DOS,执行命令,启动MySQL服务:

C:windowssystem32>mysqld

#再开一个DOS,执行命令,启动MySQL客户端并连接MySQL服务:
#由于初始化时使用的【mysqld --initialize-insecure】命令,其默认未给root账户设置密码

# 连接MySQL服务器:
C:Userszh_book>mysql -u root -p
Enter password:
# 提示请输入密码,直接回车

 

  输入回车,见下图表示安装成功,并已成功建立连接:

图片 8

 7、将MySQL服务制作成windows服务

  在执行【mysqd】启动MySQL服务器时,当前终端会被hang住,那么做一下设置即可解决此问题:(制作之前,切记一定要先检查进程,把MySQL的进程杀掉!!!要不然设置不成功!!!)

 

#注意:制作服务,必须是管理员身份运行CMD,才能创建windows服务!

# 制作MySQL的Windows服务,在终端执行此命令:
语法:"文件绝对路径mysqld"  --install
"D:mysqlsetupmysql-5.7.18-winx64binmysqld" --install
#注册成功之后,会有success的提示!

# 若不在需要这个服务,就移除MySQL的Windows服务,在终端执行此命令:
语法:"文件绝对路径mysqld"  --remove
"D:mysqlsetupmysql-5.7.18-winx64binmysqld"  --remove

 

  注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令(注意:执行也必须是管理员身份运行的CMD命令提示符!!!):

# 启动MySQL服务
net start MySQL

# 关闭MySQL服务
net stop MySQL

图片 9

  效果如图,然后在开一个CMD,执行mysql -u root -p 操作,测试连接能否成功创立!不再使用就把服务关闭。

图片 10图片 11

安装:
    yum install mysql-server 

服务端启动:
    mysql.server start

客户端连接:
      连接:mysql -h host -u user -p

退出:
     QUIT 或者 Control D

linux版本安装测试

mysql vsftpd      搭建虚拟用户

为企业搭建基于虚拟用户的FTP服务器是非常有必要的,因为虚拟用户是在服务器上面没有此用户,就算,恶意破坏系统安全的人员得到虚拟用户的账号和密码也不能通过此账号登录到系统,保证了系统的安全性。

相关阅读:

RHEL5通过FTP配置yum仓库 http://www.linuxidc.com/Linux/2013-08/88909.htm

CentOS6 X64中VsFTP配置中的一个问题 http://www.linuxidc.com/Linux/2013-07/88132.htm

Ubuntu下搭建tFTP服务器最简单方法 http://www.linuxidc.com/Linux/2013-07/87366.htm

源码安装Pure-FTPd 搭建FTP服务器 http://www.linuxidc.com/Linux/2013-05/84885.htm

一、db4-utils vsftpd 实现FTP的虚拟用户
1)安装db4-utils和vsftpd
          yum -y  install vsftpd  db4-utils
vsftpd的虚拟用户数据库是使用Berkeley DB格式的数据库文件。建立该数据库文件需要用到db_load命令工具,db_load命令依赖于db4-utils软件包,所以需要安装db4-utils。
2)建立文本格式的用户名和密码列表文件

cat > /etc/vsftpd/virtual_user.list << EOF
user1  #奇数行为用户名,偶数行为前一行的用户名的密码
123
user2
456
EOF
#此文件中空格也代表一行,不要添加额外的行

3)把用户名和密码列表文件,使用db_load工具转化为DB数据库文件

[root@jie3 vsftpd]#db_load -T -t hash -f /etc/vsftpd/virtual_user.list /etc/vsftpd/virtual_user.db
[root@jie3 vsftpd]# file /etc/vsftpd/virtual_user.db
/etc/vsftpd/virtual_user.db: Berkeley DB (Hash, version 9, native byte-order)
#db_load -T:转换
# -t hash:指定读取数据文件的基本方法
# -f /etc/vsftpd/virtual_user.list:用户名和密码列表文件
#/etc/vsftpd/virtual_user.db:转化为Berkeley DB数据库文件

4)建立访问ftp的根目录及虚拟用户对应的系统账号

[root@jie3 vsftpd]# useradd -d /var/ftproot -s /sbin/nologin virtual
    #此用户不能登录系统,-d指定此用户的家目录
[root@jie3 vsftpd]# chown virtual:virtual /var/ftproot/
[root@jie3 vsftpd]# chmod 755 /var/ftproot/

5)建立pam认证文件

[root@jie3 vsftpd]# cat > /etc/pam.d/vsftpd.vu << EOF
#%PAM-1.0
auth  required  pam_userdb.so    db=/etc/vsftpd/virtual_user
account required pam_userdb.so    db=/etc/vsftpd/virtual_user
EOF
##db=/etc/vsftpd/virtual_user  指向刚才用db_load命令生成的数据库文件,后缀名.db可以不写

6)修改配置文件,使vsftpd能支持虚拟用户

######修改/etc/vsftpd/vsftpd.conf配置文件的内容###############
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES        #启用用户映射功能
guest_username=virtual  #将用户映射为之前创建的不能登录系统的用户virtual
pam_service_name=vsftpd.vu  #指定pam认证的文件
local_root=/var/ftproot    #指定ftp的根目录
user_config_dir=/etc/vsftpd/chroot_list #指定给用户配置权限目录的路径

7)创建为虚拟用户分配权限的目录,及设置虚拟用户权限的文件,此文件必须以虚拟用户名命名。

[root@jie3 vsftpd]# mkdir /etc/vsftpd/chroot_list
    #创建配置文件里面通过user_config_dir定义的目录名称
[root@jie3 vsftpd]# touch /etc/vsftpd/chroot_list/user1
    #创建之前以用户名命名为文件,此用户存在于用户名密码列表文件中
[root@jie3 vsftpd]# touch /etc/vsftpd/chroot_list/user2
[root@jie3 vsftpd]# cd chroot_list/
[root@jie3 chroot_list]# ls
user1  user2
[root@jie3 chroot_list]# echo "anon_upload_enable=YES" >>/etc/vsftpd/chroot_list/user1
#为user1用户,设置可以上传文件的权限
[root@jie3 chroot_list]# cat > /etc/vsftpd/chroot_list/user2 << EOF
> anon_upload_enable=YES      #user2也可以上传文件的权限
> anon_mkdir_write_enable=YES  #为user2用户设置可以创建文件的权限
> EOF

8)验证不同用户的不同权限

图片 12

图片 13

图片 14

本文由澳门皇冠金沙网站发布于数据库研究,转载请注明出处:搭建企业级FTP,安装及基本操作