目录

一、源码编译安装

思路:

主要优点:

基本实现过程:

1.安装开发工具

2.进行解压缩

3、进行tar解压缩

4、运行configure脚本

5、进行make编译(必须在相对路径下完成),变成可执行的程序(放在内存中)

6.进行make install安装(必须在相对路径下完成)

二、数据同步rsync

 1、本地同步

2、远程同步

三、实时数据同步

四、数据库服务基础(数据库系统)

1、部署MariaDB数据库系统

2、MariaDB基本使用

3、恢复数据到数据库中

1、传递备份好的数据文件users.sql

2、恢复数据到数据库

3、表格操作

(1)、查(select) 

(2)、增(insert)

(3)、改(update)

(4)、删(delete)

4、为数据库系统管理员设置密码


一、源码编译安装

思路:

源码包 ---> 开发工具gcc与make ---> 可执行的程序 ---> 运行安装

主要优点:

获得软件最新版,及时修复bug
软件功能可按需要选择/定制,有更多软件可供选择
源码包适用各种平台

基本实现过程:

步骤1:安装开发工具gcc与make

步骤2:tar解包,释放源代码至指定目录

步骤3:./configure 配置,指定安装目录/功能模块等选项

步骤4:make 编译,生成可执行的二进制程序文件

步骤5:make install 安装,将编译好的文件复制到安装目录

1.安装开发工具

[root@svr7 ~]# yum -y install gcc make

2.进行解压缩

[root@svr7 ~]# tar  -xf  /root/tools.tar.gz  -C  /
[root@svr7 ~]# ls  /tools/
inotify-tools-3.13.tar.gz other

3、进行tar解压缩

[root@svr7 ~]# tar  -xf  /tools/inotify-tools-3.13.tar.gz  -C  /usr/local/
[root@svr7 ~]# ls /usr/local/
root@svr7 ~]# cd /usr/local/inotify-tools-3.13/
[root@svr7 inotify-tools-3.13]# ls

4、运行configure脚本

   作用1:检测当前系统是否安装gcc
   作用2:指定安装位置与功能

]# cd /usr/local/inotify-tools-3.13/
]# ./configure                 #运行(必须相对路径运行)
]# ./configure --help      #
]# ./configure --prefix=/opt/myrpm #指定安装位置,此步骤不产生相应的目录
[root@svr7 inotify-tools-3.13]# ls      #生成Makefile文件
aclocal.m4     config.log       depcomp          Makefile     README
AUTHORS    config.status   INSTALL          Makefile.am  src
ChangeLog   config.sub       install-sh          Makefile.in  stamp-h1
config.guess  configure        libinotifytools   man
config.h          configure.ac   libtool              missing
config.h.in       COPYING     ltmain.sh         NEWS

常见的报错信息:gcc开发工具没有安装
checking for gcc... no

checking for cc... no
checking for cl.exe... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.

5、进行make编译(必须在相对路径下完成),变成可执行的程序(放在内存中)

[root@svr7 ~]# cd   /usr/local/inotify-tools-3.13/
[root@svr7 inotify-tools-3.13]# make

6.进行make install安装(必须在相对路径下完成)

[root@svr7 ~]# cd   /usr/local/inotify-tools-3.13/

[root@svr7 inotify-tools-3.13]# make install     

[root@svr7 inotify-tools-3.13]# ls /opt/myrpm/bin/

inotifywait  inotifywatch

二、数据同步rsync

命令用法:
rsync   [选项...]   源目录     目标目录

同步与复制的差异:
复制:
完全拷贝源到目标
同步:增量拷贝,只传输变化过的数据

rsync操作选项:
-n:
测试同步过程,不做实际修改
--delete:删除目标文件夹内多余的文档
-a:归档模式,相当于-rlptgoD
-v:显示详细操作信息
-z:传输过程中启用压缩/解压

 1、本地同步

rsync   [选项...]   源目录     目标目录      #同步目录本身
rsync   [选项...]   源目录/     目标目录     #同步目录内容

[root@svr7 ~]# mkdir /mydir   /todir
[root@svr7 ~]# cp /etc/passwd    /mydir
[root@svr7 ~]# touch   /mydir/1.txt
[root@svr7 ~]# ls /mydir

[root@svr7 ~]# rsync -av   /mydir    /todir     #同步目录本身:/mydir整个目录复制到/todir
[root@svr7 ~]# ls   /todir

[root@svr7 ~]# rsync -av   /mydir/    /todir    #同步目录内容:/mydir包含的内容复制到/todir
[root@svr7 ~]# ls   /todir

[root@svr7 ~]# touch   /mydir/2.txt
[root@svr7 ~]# rsync -av   /mydir/    /todir    #同步目录内容
[root@svr7 ~]# ls   /todir

[root@svr7 ~]# echo  123 >  /mydir/1.txt
[root@svr7 ~]# rsync -av   /mydir/    /todir    #同步目录内容
[root@svr7 ~]# ls   /todir

[root@svr7 ~]# rsync  -av  --delete   /mydir/   /todir/   #同步目录内容:删除/todir中比/mydir多余的文档
[root@svr7 ~]# ls   /mydir/
[root@svr7 ~]# ls   /todir/

[root@svr7 ~]# touch   /todir/a.txt
[root@svr7 ~]# ls  /todir/
[root@svr7 ~]# rsync  -av  --delete  /mydir/   /todir/
[root@svr7 ~]# ls   /todir/
[root@svr7 ~]# ls   /mydir/

2、远程同步

与远程的 SSH目录保持同步           

下行:rsync  [...]   user@host:远程目录    本地目录
上行:rsync  [...]   本地目录    user@host:远程目录

虚拟机A的/mydir目录的内容与虚拟机B的/opt进行同步

虚拟机A:
]# rsync  -av  --delete    /mydir/    root@192.168.4.207:/opt
……..connecting (yes/no)? yes
root@192.168.4.207's password:         #输入密码

虚拟机B:
]# ls /opt/
1.txt  haha  passwd  

三、实时数据同步

虚拟机A的/mydir/目录的内容与虚拟机B的/opt进行同步

实现ssh无密码验证(公钥与私钥)

1、虚拟机A:生成公钥与私钥

[root@svr7 ~]# ssh-keygen         #一路回车
[root@svr7 ~]# ls    /root/.ssh/
id_rsa(私钥)   id_rsa.pub(公钥)    known_hosts(记录曾经远程管理过的机器)

2.将公钥传递给虚拟机B

]# ssh-copy-id     root@192.168.4.207
]# rsync  -av  --delete   /mydir/    root@192.168.4.207:/opt

3、inotifywait实时监控基本用法:

inotifywait   [选项]   目标文件夹

常用命令选项:

-m,持续监控(捕获一个事件后不退出)

-r,递归监控、包括子目录及文件

-q,减少屏幕输出信息

-e,指定监视的 modify、move、create、delete、attrib 等事件类别       

4、书写shell脚本(了解) 

脚本:可以运行de一个文件,实现某种功能

中文:新建用户zhangsan        shell: useradd   zhangsan

重复性:循环解决
死循环:while循环 
     while  条件
     do
          重复执行的事情
     done

示例:

[root@svr7 /]# vim   /etc/rsync.sh
while   /opt/myrpm/bin/inotifywait    -rqq    /mydir/
do
rsync -a  --delete   /mydir/    root@192.168.4.207:/opt
done

[root@svr7 /]# chmod   a+x    /etc/rsync.sh    #赋予执行权限

[root@svr7 /]# /etc/rsync.sh   &     #运行脚本程序

[root@svr7 /]# jobs  -l          #查看后台正在运行的程序
[1]+ 17707 运行中               /etc/rsync.sh &

[root@svr7 /]# kill  17707      #停止脚本

四、数据库服务基础(数据库系统)

数据库:存放数据的仓库

在数据库系统中,有很多的数据库,在每一个库中有很多的表格

常见的关系型 数据库管理系统:
微软的 SQL Server
IBM的 DB2
甲骨文的 Oracle、MySQL
社区开源版 MariaDB 
……

1、部署MariaDB数据库系统

[root@svr7 /]# yum  -y  install   mariadb-server
[root@svr7 /]# systemctl   restart    mariadb

2、MariaDB基本使用

  1. Linux系统的管理指令不能使用
  2. 所有的数据库系统指令都必须以 ; 结尾
  3. 数据库系统的指令大部分不支持tab补全

[root@svr7 /]# mysql             #进入数据库系统
> create  database  nsd01;     #创建nsd01数据库
> show  databases;                #查看所有数据库
> drop   database   nsd01;    #删除数据库nsd01
> show  databases;                #查看所有数据库

> use  mysql;              #切换到mysql数据库
> show   tables;          #查看当前库中所有表格
> show   databases;    #查看所有数据库
> use  test;                  #切换到test数据库
> exit;

3、恢复数据到数据库中

1、传递备份好的数据文件users.sql

2、恢复数据到数据库

]# mysql   test   <  /root/users.sql     #将后边数据库文件恢复到数据库test中
]# mysql  

MariaDB [(none)]> use test;     #切换到数据库test
MariaDB [test]> show tables;     #查看当前库有哪些表格

+-------------------+
| Tables_in_test |
+-------------------+
| base                |
| location            |
+--------------------+

3、表格操作

增(insert)     删(delete)   改(update)    查(select)

表字段表记录

编号

姓名

住址

1

Dc

东村

2

Tc

西村

(1)、查(select) 

格式: select    表字段,表字段,……     from   库名.表名;

[root@svr7 /]# mysql   

> use    test;
> select   *   from   base;         #查看base所有表字段内容
> select   *   from   location;    #查看location所有表字段内容

> use  mysql;
> select   *   from    test.base;    

> use  test;
> select   id,name    from     base;

[root@svr7 /]# mysql  
> use    test;
> select  *   from    base    where   password='456';
> select  *    from   base    where   id='4';
> select  *  from  base    where  id='4'  and   password='123';
> select  *  from base    where  id='4'  or   password='123';

(2)、增(insert)

格式:insert  表名    values ( '值' , '值' , '值' );

MariaDB [test]> insert   base  values('10','dc','789');

MariaDB [test]> insert   base  values('11','tcc','369');

MariaDB [test]> select   *   from base ;

(3)、改(update)

格式:update  表名    set  表字段= '新值'  where   表字段= '值';

MariaDB [test]> update   base   set   password='8888'    where   id='1';

MariaDB [test]> select  *  from   base ;   

(4)、删(delete)

> use   test;

> delete   from   base   where     id='4' ;

> select   *   from   base ;

4、为数据库系统管理员设置密码

mysqladmin   -u  [用户名]    -p[旧密码]     password  '新密码'

数据库系统管理员:对于数据库系统有最高权限,名字为root,能够登陆数据系统的用户信息有mysql库中user表进行储存

Linux系统管理员: 对于Linux系统有最高权限,名字为root,能够登陆Linux系统的用户信息/etc/passwd进行储存

[root@svr7 /]# mysqladmin  -u   root       password     '456'

[root@svr7 /]# mysql  -u   root   -p    #交互式进行登录

Enter password:

[root@svr7 /]# mysql  -u   root    -p456    #非交互式进行登录

已知旧密码修改新密码

]# mysqladmin  -u   root    -p456       password    '123'

]# mysql  -u  root    -p123

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐