ENGINEER05 - iSCSI技术应用 数据库服务基础 管理表数据

防火墙设置
虚拟机Server0
[root@server0 ~]# firewall-cmd  –set-default-zone=trusted 
虚拟机desktop0
[root@desktop0 ~]# firewall-cmd  –set-default-zone=trusted 
################################################################
iSCSI磁盘的工作模式
• Internet SCSI,网际SCSI接口
– 一种基于C/S架构的虚拟磁盘技术
– 服务器提供磁盘空间,客户机连接并当成本地磁盘使用

• ISCSI Qualified Name 名称规范
– iqn.yyyy-mm.倒序域名:自定义标识

– 用来识别 target 磁盘组,也用来识别客户机身份

   iqn.2018-3.com.example:server0

服务端:虚拟机Server0
1.划分分区/dev/vdb
[root@server0 ~]# fdisk /dev/vdb

     n —–>创建新的分区 5G       

[root@server0 ~]# ls /dev/vdb1
/dev/vdb1

[root@server0 ~]# lsblk

2.安装服务端软件包,提供共享存储服务程序

[root@server0 ~]# yum -y install targetcli

3.运行targetcli,交互式的界面
• 建立后端存储: /backstore/block  create  后端存储名  实际设备路径
• 建立磁盘组(相当于制作存放分区的箱子): /iscsi create 磁盘组的IQN名称
• 将共享的分区放入箱子中: /iscsi/磁盘组名/tpg1/luns create 后端存储路径
• 指定提供服务的ip地址: /iscsi/磁盘组名/tpg1/portals create IP地址
• 访问控制的设置:/iscsi/磁盘组名/tpg1/acls create 客户端声称的名字

[root@server0 ~]# targetcli 
/> backstores/block   create   iscsi_nsd   /dev/vdb1 
/> iscsi/  create  iqn.2018-03.com.example:server0
/> iscsi/iqn.2018-03.com.example:server0/tpg1/luns  create  /backstores/block/iscsi_nsd
/> iscsi/iqn.2018-03.com.example:server0/tpg1/portals create 172.25.0.11
/> iscsi/iqn.2018-03.com.example:server0/tpg1/acls    create
    iqn.2018-03.com.example:desktop0

/>  ls            
/>  exit
4.启动target服务
[root@server0 ~]# systemctl restart target      #重起target服务

[root@server0 ~]# systemctl enable target      #设置为开机自启动

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

客户端:虚拟机Desktop0

1.安装客户端软件,访问iscsi共享存储
[root@desktop0 ~]# yum repolist    #生成Yum的缓存

[root@desktop0 ~]# yum -y install iscsi-initiator-utils.i686 

2.设置客户端访问时,声称的名字
[root@desktop0 ~]# vim /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2018-03.com.example:desktop0

3.刷新 客户端iqn名字
[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
[root@desktop0 ~]# systemctl enable iscsid

4.加载iscsi共享存储,访问服务端  ( Ctrl+ -号  变小      Ctrl+shift +号  变大)        (man  sicsiadm进行查询)
[root@desktop0 ~]# iscsiadm –mode discoverydb –type sendtargets –portal 172.25.0.11 –discover
172.25.0.11:3260,1 iqn.2018-03.com.example:server0
[root@desktop0 ~]# systemctl restart iscsi  # 重起iscsi服务加载共享存储
[root@desktop0 ~]# lsblk 
############################################################################
数据库服务基础
  什么是数据库:存放数据的仓库
   数据库中有很多的小库,每一个库中有很多的表格,每一个表格中有很多的记录
   表字段:表头
   表记录:表内容

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

 端口:3306

一 搭建基本的数据库
1.安装mariadb-server

[root@server0 ~]# yum -y install mariadb-server

2.开启数据库服务
[root@server0 ~]# systemctl restart mariadb

[root@server0 ~]# systemctl enable mariadb

3.进入 MariaDB数据库 基本操作
[root@server0 ~]# mysql
MariaDB [(none)]>  show    databases;             #查看所有的库
MariaDB [(none)]>  create   database   nsd;       #创建库nsd
MariaDB [(none)]>  drop    database   nsd;        #删除库nsd
MariaDB [(none)]>  create   database   nsd1802;
MariaDB [(none)]>  show    databases;
MariaDB [(none)]>  exit

4. 设置MariaDB数据库管理员的密码

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

   数据库管理员root 与 系统管理员root不为同一个用户

   数据库管理员root:mysql库中user表

   系统管理员root:/etc/passwd

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

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

   数据库主配置文件:/etc/my.cnf

5.导入数据库的数据

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

[root@server0 ~]# mysql  -u root  -p123  nsd1802  <  users.sql   (<是导入sql文件到数据库中)
[root@server0 ~]# mysql -u root -p123
MariaDB [(none)]> show databases;

MariaDB [(none)]> use nsd1802;     #进入库nsd1802

MariaDB [nsd1802]> show tables;    #查看当前库的所有表格

  对于表有四个操作: 增(insert)      删(delete)     改(update)    查(select)
MariaDB [nsd1802]> select  *  from  base;     #显示base表所有字段内容

MariaDB [nsd1802]> select  *  from  location;  #显示location表所有字段内容

 查看表结构: desc  表名;
MariaDB [mysql]> select * from nsd1802.base;

6.数据库的授权,不需要创建本地用户
MariaDB [(none)]> 交互指令
– GRANT 权限列表 ON 数据库名.表名 TO 用户名@
客户机地址 IDENTIFIED BY ‘密码’;
  grant  select on  nsd1802.*  to  lisi@localhost  identified by ‘123’;  
  当lisi用户从本地localhost登陆输入密码123,将会获得nsd1802库中所有表的查询权限
[root@server0 ~]# mysql -u lisi -p123
[root@server0 ~]# mysql -u root -p123
MariaDB [(none)]> grant  select on  nsd1802.*  to  lisi@localhost  identified by ‘123’;

MariaDB [(none)]>  exit

非交互式登录:

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

案例5:使用数据库查询
2. 在系统 server0 上使用数据库 nsd1802,并使用相
应的 SQL 查询以回答下列问题:
1)密码是 solicitous 的人的名字?
 有条件的查询: where 
[root@server0 ~]# mysql -u root -p123

MariaDB [(none)]> use nsd1802;

MariaDB [nsd1802]> select  *  from base; 
MariaDB [nsd1802]> select * from base where password=’solicitous’;
MariaDB [nsd1802]> select name from base where password=’solicitous’;
MariaDB [nsd1802]> select * from base where name=’tom’;

2)有多少人的姓名是 Barbara 同时居住在 Sunnyvale? (多表联合查询)
MariaDB [nsd1802]> use nsd1802
MariaDB [nsd1802]> select count(*)  from  base,location                
         where base.name=’Barbara’  and  location.city=’Sunnyvale’ 

         and      base.id=location.id;

##################################################################
1. 禁止空密码root用户访问 mariadb 数据库(user表为登陆数据库用户的信息表)
MariaDB [nsd1802]> use mysql;

MariaDB [mysql]> select user,host,password from user;
MariaDB [mysql]> select user,host,password from user where password=”;

MariaDB [mysql]> delete  from user where password=”;  #删除表记录

MariaDB [mysql]> flush privileges;   #刷新数据库策略
MariaDB [mysql]> exit

[root@server0 ~]# mysql -u root -h server0.example.com  #测试网络登陆

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

案例1:在在 server0、desktop0 上操作
– 将防火墙默认区域设置为trusted
[root@server0 ~]# firewall-cmd –set-default-zone=trusted

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

案例2:在server上操作,搭建mariadb数据库系统
1. 在 server0 上安装 MariaDB 数据库系统
[root@server0 ~]# yum -y install mariadb
1)安装 mariadb-server软件包
[root@server0 ~]# yum -y install mariadb-server
2)启动 mariadb 服务
[root@server0 ~]# systemctl restart mariadb
[root@server0 ~]# systemctl enable mariadb

案例3:在server上操作,配置一个数据库
– 为mariadb数据库root设置登陆密码为 haxi
[root@server0 ~]# mysqladmin -u root password ‘123’
[root@server0 ~]# mysqladmin -u root -p123 password ‘haxi’
– 新建一个数据库名为 nsd
MariaDB [(none)]> show databases;
– 除了 root 用户,此数据库只能被用户 lisi 查询,此用户的密码为 123(用户的授权)
MariaDB [(none)]> grant select on nsd.* to lisi@localhost identified by ‘123’;
– 数据库 nsd 中应该包含来自数据库复制的内容,
复制文件的 URL为:http://classroom.example.com/pub/materials/users.sql
[root@server0 ~]# mysql -u root -phaxi nsd < users.sql 

案例4:在server上操作,使用数据库查询

1)密码是 solicitous 的人的名字?
MariaDB [nsd]> select name from base where password=’solicitous’;
2)有多少人的姓名是 Barbara 同时居住在 Sunnyvale?
MariaDB [nsd]> select count(*) from base,location where base.name=’Barbara’ and location.city=’Sunnyvale’ and base.id=location.id;

案例5:虚拟机 server0操作, /dev/vdb 上按以下要求建立分区:
采用默认的 msdos 分区模式 
– 第1个分区 /dev/vdb1 的大小为 3G
– 第2个分区 /dev/vdb2 的大小为 200M
– 第3个分区 /dev/vdb3 的大小为 100M
– 第4个分区 /dev/vdb4为扩展分区
– 在划分三个分区逻辑分区/dev/vdb[5-6],
– 分区大小依次为500M、2000M
先划分三个主分区,然后划分一个扩展分区。

案例6:发布iSCSI网络磁盘
 1)配置 server0 提供 iSCSI 服务,要求如下:
 2)磁盘名为iqn.2016-02.com.example:server0
 3)服务端口为 3260
 4)使用 iscsi_store(后端存储的名称) 作其后端卷,其大小为 3GiB
 5)此磁盘服务只能被 desktop0.example.com 访问,在Server0上配置客户端ACL为iqn.2016-02.com.example:desktop0
 6)配置 desktop0 使用 server0 提供 iSCSI 服务

服务端:

        1.安装服务端的软件,提供共享磁盘的服务

[root@server0 ~]# yum -y install targetcli

        2.建立后端存储

/> backstores/block create iscsi_nsd /dev/vdb1 

        3.建立磁盘组

/> iscsi/ create iqn.2016-02.com.example:server0

        4.将共享的分区加入箱子

/> iscsi/iqn.2016-02.com.example:server0/tpg1/luns create /backstores/block/iscsi_nsd 

        5.指定提供服务的IP地址

/> iscsi/iqn.2016-02.com.example:server0/tpg1/portals create 172.25.0.11

        6.访问控制的设置

/> iscsi/iqn.2016-02.com.example:server0/tpg1/acls create  iqn.2018-03.com.example:desktop0

客户端:

        1.安装客户端软件iscsi-initiator-utils.i686 

[root@desktop0 ~]# yum -y install iscsi-initiator-utils.i686 

        2.设置客户端访问时,声称的名字

[root@desktop0 ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2018-03.com.example:desktop0
3.刷新 客户端iqn名字

[root@desktop0 ~]# systemctl restart iscsid

        4.加载iscsi共享存储,访问服务端

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

        5. #重起iscsi服务加载共享存储

        [root@desktop0 ~]# systemctl restart iscsi 

        [root@desktop0 ~]# lsblk 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值