Engineer5

真机上:还原三台虚拟机classroom、server、desktop

[root@room9pc14 桌面]# rht-vmctl reset classroom
[root@room9pc14 桌面]# rht-vmctl reset server
[root@room9pc14 桌面]# rht-vmctl reset desktop

真机远程管理:ssh方式,方便使用server与desktop   

[root@room9pc14 桌面]# ssh  用户名@IP地址

补充快捷键: Ctrl+Shift+t 开启一个新的终端

[root@room9pc14 桌面]# ssh -X root@172.25.0.11

##################################################



修改两台虚拟机防火墙默认区域为trusted

[root@server0 ~]# firewall-cmd --set-default-zone=trusted
[root@desktop0 ~]# firewall-cmd --set-default-zone=trusted

#####################################################
 划分分区的指令:parted (专门做大空间划分 2T)
 
  GPT: 突破了4个主分区限制,可以有128主分区

[root@server0 ~]# parted /dev/vdb
(parted) print            #输出分区表
(parted) mktable gpt      #设置分区模式为GPT

(parted) mkpart           #划分新的分区
 分区名称?  []? haha         #分区名称随便起
 文件系统类型?  [ext2]? ext4   #文件系统不起作用
 起始点? 0                                 #上一个分区的结束,是下一个分区的开始
 结束点? 2G
 忽略/Ignore/放弃/Cancel? Ignore  #忽略,分区表信息会占用一部分空间
(parted) print                  #输出分区表
(parted) quit

[root@server0 ~]# ls /dev/vdb1
#####################################################
iSCSI网络磁盘

• Internet SCSI,网际SCSI接口
   – 一种基于C/S架构的虚拟磁盘技术
   – 服务器提供磁盘空间,客户机连接并当成本地磁盘使用

服务端思路:
1.划分分区
2.运行targetcli命令
------>建立后端存储
------>建立共享磁盘起名
------>关系将共享磁盘名字与后端存储联系起来
------>做ACL 允许客户端通过那个名字来访问
------>启用端口和IP

• ISCSI Qualified Name 名称规范
– iqn.yyyy-mm.倒序域名:自定义标识
– 用来识别 target 磁盘组,也用来识别客户机身份


  服务端server0:
 1.服务端软件,targetcli
 2.运行targetcli命令进行配置

[root@server0 ~]# targetcli
/> ls
/> backstores/block create  nsd  /dev/vdb1   #创建后端存储并起名
/> ls
/> iscsi/ create iqn.2017-12.com.example:server0 #为共享磁盘起名
/> ls
/> iscsi/iqn.2017-12.com.example:server0/tpg1/luns     create  /backstores/block/nsd                     #关联后端存储

/> ls
/> iscsi/iqn.2017-12.com.example:server0/tpg1/acls      create iqn.2017-12.com.example:desktop0          #设置客户端名称
/> ls
/> iscsi/iqn.2017-12.com.example:server0/tpg1/portals     create  172.25.0.11                              #启用端口与IP
Using default IP port 3260
Created network portal 172.25.0.11:3260.

/> exit

 3.重起服务,设置为开机自起
[root@server0 ~]# systemctl restart target
[root@server0 ~]# systemctl enable target


客户端desktop0:
1.安装一个客户端软件
[root@desktop0 ~]# yum repolist
[root@desktop0 ~]# yum -y install iscsi-initiator-utils.i686

2.指定客户端自称的名字
[root@desktop0 ~]# vim /etc/iscsi/initiatorname.iscsi
 #指明访问服务端,客户端自称的名字,是服务端ACL指定的名称
 InitiatorName=iqn.2017-12.com.example:desktop0
 
3.发现服务端位置
[root@desktop0 ~]# man  iscsiadm
[root@desktop0 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 172.25.0.11 --discover

4.加载共享存储
[root@desktop0 ~]# lsblk
[root@desktop0 ~]# systemctl restart iscsi
[root@desktop0 ~]# systemctl daemon-reload
[root@desktop0 ~]# systemctl restart iscsi
[root@desktop0 ~]# systemctl enable iscsi
[root@desktop0 ~]# lsblk

######################################################
客户端:刷新/etc/iscsi/initiatorname.iscsi文件的服务

[root@desktop0 ~]# systemctl restart iscsid
[root@desktop0 ~]# systemctl restart iscsi

######################################################
 MariaDB数据库        
 
  database:数据库

什么是数据库
 • DB,数据库:一批数据的集合,主流的数据库多用来存放关系型表格数据

虚拟机Server:安装MariaDB数据库
[root@server0 ~]# yum -y install mariadb-server

 MariaDB数据库 ,端口:3306
 
启动数据库服务
[root@server0 ~]# systemctl restart mariadb
[root@server0 ~]# systemctl enable  mariadb

######################################################

MariaDB数据库基本操作

[root@server0 ~]# mysql             #默认没有密码

 MariaDB [(none)]> show  databases;             #查看所有库
 MariaDB [(none)]> create database  nsd1710;    #创建库

 MariaDB [(none)]> show  databases;
 MariaDB [(none)]> drop  database  nsd1710;      #删除库

 MariaDB [(none)]> show  databases;

 MariaDB [(none)]> quit

[root@server0 ~]#

  设置MariaDB数据库管理员的密码
 
    数据库管理员名:root   MariaDB数据库   mysql-----》user

    系统管理员名:root    /etc/passwd


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


[root@server0 ~]# mysqladmin  -u  root   password  '123'

[root@server0 ~]# mysql -u root -p
Enter password: 输入密码

[root@server0 ~]# mysql -u root -p123     #非交互输入密码进入

##########################################################

• 禁止监听,只服务于本机

[root@server0 ~]# vim  /etc/my.cnf
[mysqld]
skip-networking     //跳过网络监听
.. ..
[root@server0 ~]# systemctl restart mariadb

##########################################################

– 使用/选择数据库:USE 数据库名;
– 列出库里有哪些表:SHOW TABLES;


[root@server0 ~]# mysql  -u root  -p123

MariaDB [mysql]> show   databases;
MariaDB [mysql]> use   mysql;
MariaDB [mysql]> show   tables;
MariaDB [mysql]> create   database   nsd1710;
MariaDB [mysql]> show   databases;


在虚拟机Server0上操作:下载事先备份好的数据库文件

# wget http://classroom/pub/materials/users.sql

导入数据到数据库中
[root@server0 ~]# mysql -u root -p123 nsd1710 < users.sql

[root@server0 ~]# mysql -u root -p123
MariaDB [(none)]> use nsd1710;
MariaDB [nsd1710]> show tables;

  查询数据库中表记录
 select  表字段   from  库.表名

 select  *   from  nsd1710.base;

MariaDB [nsd1710]> select * from location;
MariaDB [nsd1710]> select * from base;

#########################################################
 增 insert
 删 delete
 改 update
 查 select




有条件的查询

1.在base表中查询密码为123的用户的名字?
[root@server0 ~]# mysql -u root -p123
MariaDB [(none)]> use nsd1710;
MariaDB [nsd1710]> show tables;

> select * from base where password='123';

> select name,password from base where password='123';

> select name from base where password='123';

> select id,name from base;


并使用相 应的 SQL 查询以回答下列问题:
1)密码是 solicitous 的人的名字?
> select name from base where password='solicitous';



2)有多少人的姓名是 Barbara 同时居住在 Sunnyvale?

> select *  from  base,location                             where  base.name='Barbara' and  location.city='Sunnyvale'    and  base.id=location.id;

> select count(*) from  base,location                         where  base.name='Barbara'  and  location.city='Sunnyvale'    and  base.id=location.id;

> insert base  values (6,'Barbara','321');   #插入表记录
> insert location  values (6,'Sunnyvale');   #插入表记录
> select * from base;
> select * from location ;

> select * from base,location                             where  base.name='Barbara'  and  location.city='Sunnyvale'    and  base.id=location.id;

##########################################################
 数据库授权

– 除了 root 用户,此nsd1710数据库只能被用户 lisi 查询,此用户的密码为123

  MariaDB数据库   mysql-----》user

– GRANT 权限列表  ON 数据库名.表名 TO 用户名@ 客户机地址  IDENTIFIED BY '密码';
     

[root@server0 ~]# mysql -u root -p123

grant select on nsd1710.* to  lisi@localhost identified by  '123';

     当lisi从本地localhost登陆,输入密码123.将会获得nsd1710库中所有表的查询的权限

验证:测试lisi登陆
[root@server0 ~]# mysql -u lisi -p123

######################################################
DELETE 删除表记录
• MariaDB [(none)]> 交互指令
– DELETE  FROM  [数据库.]表名  WHERE  条件语句;

1. 禁止空密码root用户访问 mariadb 数据库

[root@server0 ~]# mysql -u root -p123
> use mysql;
> select user,host,password from user;

> select user,host,password from user   where password='';

> delete from user  where  password='';
 
> select user,host,password from user;

###########################################################

刷新user表的记录:
MariaDB [(none)]> flush privileges;

###########################################################

posted @ 2017-12-05 08:53  百川汇海  阅读(165)  评论(0)    收藏  举报