Linux iSCSI技术应用和数据库服务基础 、 管理表数据 (Engineer03----DAY10)

#########################################################
iSCSI磁盘的工作模式, 默认端口:3260

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

iSCSI磁盘的构成
• backstore,后端存储(冰箱)
– 对应到服务端提供实际存储空间的设备,需要起一个管理名称
• target,磁盘组(木质箱子)
– 是客户端的访问目标,作为一个框架,由多个lun组成
• lun,逻辑单元(将冰箱放入木质的箱子过程)
– 每一个lun需要关联到某一个后端存储设备,在客户端
会视为一块虚拟硬盘
在这里插入图片描述
冰箱–》纸制的包装 木质箱子

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

在这里插入图片描述

服务端:虚拟机server
一、安装targetcli软件包
[root@server0 ~]# yum -y install targetcli
[root@server0 ~]# rpm -q targetcli

二、进行配置在这里插入图片描述
[root@server0 ~]# targetcli
/> ls
1.指定backstore,后端存储(冰箱)
/> backstores/block create dev=/dev/vdb1 name=nsd
Created block storage object nsd using /dev/vdb1.

/> ls

2.建立target,磁盘组(建立木质箱子)
/> iscsi/ create iqn.2019-12.com.example:server

Created target iqn.2019-12.com.example:server.
Created TPG 1.

/> ls

3.lun进行关联
/> iscsi/iqn.2019-12.com.example:server/tpg1/luns create /backstores/block/nsd

Created LUN 0.

/> ls

4.设置ACL访问控制(设置客户端声称的名字)符合iqn名称规范
/> iscsi/iqn.2019-12.com.example:server/tpg1/acls create iqn.2019-12.com.example:desktop

Created Node ACL for iqn.2019-12.com.example:desktop
Created mapped LUN 0.
/> ls

5.设置监听IP地址与端口
/> iscsi/iqn.2019-12.com.example:server/tpg1/portals create 0.0.0.0

/> ls

/> exit

三、重起target服务
[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’
在这里插入图片描述

客户端:虚拟机desktop
一、安装软件包,所需软件包:iscsi-initiator-utils
Yum仓库提供软件包名补全的功能:
前提1:该软件包当前系统没有安装
前提2:必须要有Yum的缓存,yum repolist生成Yum的缓存
[root@desktop0 ~]# yum repolist
[root@desktop0 ~]# yum -y install isc(tab)
[root@desktop0 ~]# yum search iscsi #查询关键字

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

二、修改配置文件,指定客户端声称名字
[root@desktop0 ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2019-12.com.example:desktop
在这里插入图片描述
三、重起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

四、寻找服务端访问共享存储
Linux查看命令帮助的方法 : man iscsiadm
全文查找/example 按n项下跳转匹配,看到EXAMPLES

Ctrl - :减小字体
Ctrl Shift + :变大字体
在这里插入图片描述
[root@desktop0 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 172.25.0.11 --discover

172.25.0.11:3260,1 iqn.2019-12.com.example:server

五、加载共享存储 iscsi主服务----》子服务iscsid

[root@desktop0 ~]# lsblk
[root@desktop0 ~]# systemctl restart iscsi
[root@desktop0 ~]# lsblk
在这里插入图片描述
######################################################
数据库服务基础

数据库:存放数据的仓库

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

什么是数据库(续1)
• 常见的关系型 数据库管理系统
– 微软的 SQL Server
– IBM的 DB2
– 甲骨文的 Oracle、MySQL
– 社区开源版 MariaDB

DataBase(数据库)

一、部署mariadb数据库服务器
• RHEL7 中的 MariaDB 相关包
– mariadb-server:提供服务端有关的系统程序
在这里插入图片描述
[root@server0 ~]# yum -y install mariadb-server
[root@server0 ~]# systemctl restart mariadb
[root@server0 ~]# systemctl enable mariadb #设置开机启动
ln -s ‘/usr/lib/systemd/system/mariadb.service’ ‘/etc/systemd/system/multi-user.target.wants/mariadb.service’
在这里插入图片描述
二、数据库基本操作在这里插入图片描述
[root@server0 ~]# mysql #进入数据库
MariaDB [(none)]> show databases; #查看都有那些库
MariaDB [(none)]> create database nsd; #创建nsd库
MariaDB [(none)]> show databases; #查看都有那些库
在这里插入图片描述
MariaDB [(none)]> create database nsd1911; #创建库nsd1911
MariaDB [(none)]> show databases; #查看都有那些库
MariaDB [(none)]> drop database nsd; #删除nsd库
MariaDB [(none)]> show databases;
MariaDB [(none)]> exit #退出数据库

[root@server0 ~]# mysql #进入数据库
MariaDB [(none)]> show databases; #查看当前有哪些库
MariaDB [(none)]> use mysql; #进入mysql库
MariaDB [mysql]> show tables; #显示当前库中有那些表格

MariaDB [(none)]> show databases; #查看当前有哪些库
MariaDB [mysql]> use nsd1911; #进入nsd1911库
MariaDB [nsd1911]> show tables; #显示当前库中有那些表格

MariaDB [nsd1911]> use test;
MariaDB [test]> show tables;
MariaDB [(none)]> exit

三、为数据库的管理员设置密码
数据库管理员为root,针对数据库有最高权限,用户信息存放在mysql库中user表
系统管理员为root,针对系统有最高权限,用户信息存放在/etc/passwd

• 为数据库账号修改密码
– mysqladmin [-u用户名] [-p[旧密码]] password ‘新密码’
在这里插入图片描述
1.设置新密码
[root@server0 ~]# mysqladmin -u root password ‘789’
2.已知旧密码修改新密码
[root@server0 ~]# mysqladmin -u root -p789 password ‘123’

[root@server0 ~]# mysql -u root -p123 #进入数据库
MariaDB [(none)]> exit

#########################################################
四、恢复数据
1.下载表格备份的数据文件
[root@server0 ~]# wget http://classroom.example.com/pub/materials/users.sql

[root@server0 ~]# ls

2.恢复数据到数据库
[root@server0 ~]# mysql -u root -p123 nsd1911 < /root/users.sql
[root@server0 ~]# mysql -u root -p123
MariaDB [(none)]> use nsd1911;
MariaDB [nsd1911]> show tables;
±------------------+
| Tables_in_nsd1911 |
±------------------+
| base |
| location |
±------------------+

########################################################
五、表格操作: 增insert 删delete 改update 查select

  表记录与表字段

          编号     姓名      地址        联系方式
    1      dc    东村        13838383838
    2      tc    西村        13838383839

查询格式:
select 表字段 from 库名.表名;

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

use nsd1911;
show tables;
select * from base;
select name,password from base;

use mysql;
select * from nsd1911.base;
use nsd1911;
select * from location;
在这里插入图片描述

查询表结构的命令:desc
[root@server0 ~]# mysql -u root -p123

use nsd1911;
desc base;
desc location;

use mysql;
desc user;
select user,host,password from user;

有条件的查询:
[root@server0 ~]# mysql -u root -p123

use nsd1911;
select * from base;

select * from base where password=‘123’;
select * from base where id=‘4’;
select * from base where name=‘tom’;
select * from base where password=‘456’;

在这里插入图片描述
六、数据库的授权

用户授权设置
• MariaDB [(none)]> 交互指令
– GRANT 权限列表 ON 数据库名.表名 TO 用户名@
客户机地址 IDENTIFIED BY ‘密码’;
在这里插入图片描述
– 除了 root 用户,此数据库nsd1911只能被用户lisi查询,此用户的密码为123

当lisi进行本地登陆输入密码123,将会获得nsd1911所有表的查询权限

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

MariaDB [(none)]> grant select on nsd1911.* to lisi@localhost identified by ‘123’;

MariaDB [(none)]> use mysql;
MariaDB [mysql]> select user,host,password from user;

########################################################
案例4:使用数据库查询

  1. 禁止空密码root用户访问 mariadb 数据库
    [root@server0 ~]# mysql -u root -p123

use mysql;
select user,host,password from user where password=’’;
delete from user where password=’’; #删除密码为空的记录
select user,host,password from user;

flush privileges; #刷新user表的记录
exit

[root@server0 ~]# mysql -u root -h server0.example.com #登陆失败

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

use nsd1911;
select * from base;
select * 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’,‘789’);
select * from base;
insert location values (‘6’,‘Sunnyvale’);
select * from location;

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

发布了55 篇原创文章 · 获赞 0 · 访问量 439

猜你喜欢

转载自blog.csdn.net/weixin_45533230/article/details/103652604
今日推荐