iSCSI,数据库,

iSCSI网络磁盘   默认端口:3260

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

• backstore,后端存储    /dev/vdb1   大电视
– 对应到服务端提供实际存储空间的设备,需要起一个管理名称

• target,磁盘组           木质箱子
– 是客户端的访问目标,作为一个框架,由多个lun组成

• lun,逻辑单元  (将  大电视+纸制   放入  木质箱子 )
– 每一个lun需要关联到某一个后端存储设备,在客户端
会视为一块虚拟硬盘

    大电视-----》纸制包装-------》木质箱子


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

虚拟机Server0:
一、利用fdisk命令划分一个新的分区 5G,用于共享iSCSI磁盘
[root@server0 ~]# lsblk 
[root@server0 ~]# ls /dev/vdb1

二、安装targetcli软件包,提供共享iSCSI磁盘
[root@server0 ~]# yum -y install targetcli

三、运行targetcli进行配置
[root@server0 ~]# targetcli   #进入共享iSCSI磁盘配置模式
   1.建立backstore,后端存储   (大电视----->纸制包装)
 /> backstores/block create name=nsd dev=/dev/vdb1
  Created block storage object nsd using /dev/vdb1.
     后端存储/块设备        创建      名称(纸制包装)   设备(大电视)
 /> ls
  
   2.建立target磁盘组 (建立 木质的箱子)
/> iscsi/ create iqn.2018-11.com.example:server0
Created target iqn.2018-11.com.example:server0.
Created TPG 1.
      命名规范:iqn.yyyy-mm.倒序域名:自定义标识
/> ls

   3.配置lun关联 (将 大电视+纸制包装 放入  木质的箱子)
/> iscsi/iqn.2018-11.com.example:server0/tpg1/luns    create   /backstores/block/nsd 
Created LUN 0.
      
/> ls
/> exit  

   4.配置访问控制:设置客户端声称的名字
[root@server0 ~]# targetcli 
/> iscsi/iqn.2018-11.com.example:server0/tpg1/acls    create  iqn.2018-11.com.example:desktop0

Created Node ACL for iqn.2018-11.com.example:desktop0
Created mapped LUN 0.

/> ls

   5.启用IP地址与端口
/> iscsi/iqn.2018-11.com.example:server0/tpg1/portals create 172.25.0.11

Using default IP port 3260
Created network portal 172.25.0.11:3260.
  本机的172.25.0.11端口为3260提供,相应的共享存储服务 

/> exit

三、服务端重起服务
[root@server0 ~]# systemctl restart target
[root@server0 ~]# systemctl enable target
ln -s '/usr/lib/systemd/system/target.service' '/etc/systemd/system/multi-user.target.wants/target.service'


################################################
客户端虚拟机Desktop0:

1.安装软件包,访问共享存储服务
• 所需软件包:iscsi-initiator-utils
  yum仓库安装包名的补全: 1.本机没有安装此包  2.Yum具备缓存
  yum  repolist:可以生成Yum具备的缓存

[root@desktop0 ~]# rpm -q iscsi-initiator-utils
iscsi-initiator-utils-6.2.0.873-21.el7.x86_64

[root@desktop0 ~]# yum repolist   #生成Yum具备的缓存
[root@desktop0 ~]# yum -y install isc(tab)

2.进行配置客户端声称的名字
]# vim /etc/iscsi/in(tab) 
InitiatorName=iqn.2018-11.com.example:desktop0

3.重起iscsid服务,专门刷新  客户端声称的名字
[root@desktop0 ~]# systemctl restart iscsid
  Warning: Unit file of iscsid.service changed on  
  disk, 'systemctl daemon-reload' recommended.
[root@desktop0 ~]# systemctl daemon-reload
[root@desktop0 ~]# systemctl restart iscsid

4.运行命令,发现共享存储  
通过 man iscsiadm 帮助进行参考
/example 全文查找example 然后按n进行跳转
   ctrl shift  +  = 终端全屏,放大字体
   ctrl   -  = 终端全屏,缩小字体

[root@desktop0 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 172.25.0.11 --discover

5.重起iscsi服务,加载共享存储
[root@desktop0 ~]# lsblk 
[root@desktop0 ~]# systemctl restart iscsi
[root@desktop0 ~]# lsblk 
[root@desktop0 ~]# systemctl enable iscsi

###############################################
总结:
虚拟机Server0:服务端
1.修改防火墙默认区域为trusted
2.安装软件包targetcli
3.运行targetcli进行配置
    1)建立后端存储
    2)建立target磁盘组(iqn命名)
    3)进行lun关联
    4)配置ACL访问控制,设置客户端声称的名字(iqn命名)
    5)启用IP地址与端口(设置本机利用哪一个IP地址,进行提供服务)
4.重起target服务

虚拟机Desktop0:客户端
1.防火墙设置为默认区域trusted
2.安装所需软件包:iscsi-initiator-utils
3.修改配置文件指定客户端声称的名字(/etc/iscsi/in(tab) )
4.重起iscsid服务  刷新客户端声称的名字
5.运行命令发现共享存储

[root@desktop0 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 172.25.0.11 --discover

6.重起iscsi服务,加载共享存储

################################################
MariaDB数据库的管理
  DB:database

数据库:存放数据的仓库

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

   

一、部署mariadb数据库服务器  默认端口:3306
• RHEL7 中的 MariaDB 相关包
– mariadb-server:提供服务端有关的系统程序

################################################
二、数据库基本操作
[root@server0 ~]# mysql    #进入数据库
    > show  databases;            #显示所有库
    > create  database  nsd1810;  #创建nsd1810库
    > show  databases;            #显示所有库

    > drop  database  nsd1810;    #删除nsd1810库 
    > show  databases;

    > create  database nsd;      #创建nsd库
    > show  databases;
    > exit

#############################################
三、为数据库管理员设置密码

   数据库管理员:账户:root 用户信息存放在mysql库中user表中
   系统管理员:账户:root  用户信息存放在/etc/passwd

• 为数据库账号修改密码
– mysqladmin [-u用户名] [-p[旧密码]] password '新密码'

 ]# 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

################################################
四、表格的操作 :表字段  表记录
  
       增(insert)   删 (delete)   改(update)   查(select)

  虚拟机classroom:数据库  表格的备份文件
[root@server0 ~]# wget  http://classroom.example.com/pub/materials/users.sql

[root@server0 ~]# ls users.sql

• 导入/恢复到数据库
– mysql [-u用户名] [-p[密码]] 数据库名 < 备份文件.sql

]# mysql  -u  root  -p123  nsd  <  users.sql 

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

> use nsd;         #切换到nsd库
> show tables;     #显示有那些表格

> select 表字段  from 表名;

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

where有条件的查询
> use nsd;         #切换到nsd库
> show tables;     #显示有那些表格

> select * from base where name='tom';
> select * from base where passowrd='123';
> select * from base where passowrd='456';

> select name,password from base;

查看表结构desc
> use nsd;
> desc base;     #查看base表结构

> use mysql;     #切换到mysql库中
> select * from nsd.base;   #查询nsd库中base表

> desc user;     #查看user表结构     
> select user,host,password   from user;


################################################
五、数据库的授权

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

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

 grant select on  nsd.*  to lisi@localhost identified by  '123';
  
   当lisi从localhost登陆,输入密码123,将会获得nsd库所有表的查询权限
  
[root@server0 ~]# mysql -u root -p123
> grant select on nsd.* to lisi@localhost identified by '123';

> select user,host,password from mysql.user;

[root@server0 ~]# mysql -u lisi -p123
> show databases;

> select * from nsd.base;
> drop database nsd;
ERROR 1044 (42000): Access denied for user 'lisi'@'localhost' to database 'nsd'
> exit
Bye

案例5:使用数据库查询
2. 在系统 server0 上使用数据库 nsd,并使用相
应的 SQL 查询以回答下列问题:
1)密码是 solicitous 的人的名字?
[root@server0 ~]# mysql -u root -p123
> use nsd;
> select * from base where password='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;
                                                   
1. 禁止空密码root用户访问 mariadb 数据库

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

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

> delete from mysql.user where password=''; #删除表记录

> select user,host,password from mysql.user;

> flush  privileges;  刷新数据库user表记录
> exit

]# mysql -u root -h server0.example.com #访问失败

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值