Linux 运维基础入门(六)-iSCSI技术应用 、 数据库服务基础 、 管理表数据

一 环境设置
虚拟机server
[root@server0 ~]# firewall-cmd --set-default-zone=trusted
[root@server0 ~]# firewall-cmd --get-default-zone
虚拟机desktop
[root@desktop0 ~]# firewall-cmd --set-default-zone=trusted
[root@desktop0 ~]# firewall-cmd --get-default-zone
##########################################################
iSCSI网络磁盘

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

一 划分一个主分区3G
[root@server0 ~]# fdisk /dev/vdb
[root@server0 ~]# lsblk
[root@server0 ~]# ls /dev/vdb1

二 服务端选择虚拟机server,构建iSCSI共享存储

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

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

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

• 名称示例
– iqn.2016-02.com.example:server0

• lun,逻辑单元
– 每一个lun需要关联到某一个后端存储设备,在客户端会视为一块虚拟硬盘

         冰箱------->纸质的包装       木质的箱子

1.安装targetcli软件包
[root@server0 ~]# yum -y install targetcli

2.配置
a)建立backstore,后端存储(冰箱)
[root@server0 ~]# targetcli
/> ls
/> backstores/block create name=nsd dev=/dev/vdb1
/> ls

b)建立target磁盘组(建立木质的箱子)
iqn.yyyy-mm.倒序域名:自定义标识

/> iscsi/ create iqn.2019-05.com.example:server0
/> ls

c)进行lun关联(冰箱----->木质的箱子)
/> iscsi/iqn.2019-05.com.example:server0/tpg1/luns create /backstores/block/nsd

/> ls

d)设置访问控制ACL,设置客户端声称的名字(符合iqn命名规范)
/> iscsi/iqn.2019-05.com.example:server0/tpg1/acls create
iqn.2019-05.com.example:abc

/> ls

e)指定本机开放共享服务的IP地址及端口
/> iscsi/iqn.2019-05.com.example:server0/tpg1/portals create 172.25.0.11

/> ls

[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’
[root@server0 ~]#
###########################################################
虚拟机desktop:客户端
1.安装客户端软件
• 所需软件包:iscsi-initiator-utils
Yum安装软件时可以补全包名:
前提1:必须有Yum缓存, yum repolist 可以直接生成缓存
前提2:必须是当前系统没有安装
[root@desktop0 ~]# rpm -q iscsi-initiator-utils
iscsi-initiator-utils-6.2.0.873-21.el7.x86_64
[root@desktop0 ~]# yum -y install iscsi(tab)

2.配置客户端声称的名字
[root@desktop0 ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2019-05.com.example:abc

3.客户端刷新声称名字的服务
[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.发现服务端共享存储
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-05.com.example:server0

5.使用服务端共享存储
[root@desktop0 ~]# lsblk
[root@desktop0 ~]# systemctl restart iscsi #重启客户端服务
[root@desktop0 ~]# lsblk
[root@desktop0 ~]# systemctl enable iscsi #设置开机自启动服务

#########################################################
总结:
服务端:
1.修改防火墙默认区域trusted
2.安装targetcli软件
3.运行targetcli命令进行配置
1)建立后端存储
2)建立target磁盘
3)进行lun关联
4)设置ACL访问控制
5)设置启用IP地址 默认端口为3260
4.重启target服务

客户端:
1.修改防火墙默认区域trusted
2.所需软件包:iscsi-initiator-utils
3.修改配置文件/etc/iscsi/initiatorname.iscsi
4.客户端刷新声称名字的服务 systemctl restart iscsid

5.发现共享存储
]# iscsiadm --mode discoverydb --type sendtargets --portal 172.25.0.11 --discover

6.使用共享存储
]# systemctl enable iscsi

########################################################
数据库服务基础

什么是数据库:存放数据的仓库

– 社区开源版 MariaDB

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

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

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

一 数据库的基本操作
[root@server0 ~]# mysql

MariaDB [(none)]> show databases; #显示所有库
MariaDB [(none)]> create database nsd01; #创建库nsd01

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

MariaDB [(none)]> show databases;
MariaDB [(none)]> create database nsd1904;
MariaDB [(none)]> show databases;
MariaDB [(none)]> exit

######################################################
二 为数据库管理员设置密码
数据库管理员root,针对数据库具有最高权限,信息存放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 ~]# mysqladmin -u root -p123 password ‘321’
#########################################################
数据库的主配置文件:/etc/my.cnf

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

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

]# wget http://classroom.example.com/pub/materials/users.sql
]# ls
]# mysql -u root -p123 nsd1904 < /root/users.sql

• 查看库中有哪些表格
[root@server0 ~]# mysql -u root -p123
MariaDB [(none)]> use nsd1904; #切换到nsd1904库
MariaDB [nsd1904]> show tables; #显示当前库有那些表格

表格: 表字段 表记录

       编号       姓名       联系方式          居住地址
    1      dc    138.....     东村
    2      tc    138.....     西村

表格: 增(insert) 删(delete) 改(update) 查(select)

查(select)
格式: select 表字段,表字段… from 库名.表名称

[root@server0 ~]# mysql -u root -p123
MariaDB [(none)]> use nsd1904; #进入nsd1904库
MariaDB [(none)]> show tables; #显示库中所有表格
MariaDB [(none)]> select * from base;
MariaDB [(none)]> select * from location;
MariaDB [(none)]> select name,password from base;

MariaDB [(none)]> use mysql;
MariaDB [(none)]> select * from nsd1904.base;

########################################################
查看表结构: desc 表名字;
MariaDB [(none)]> desc nsd1904.base;
MariaDB [(none)]> desc mysql.user;

MariaDB [nsd1904]> select user,host,password from mysql.user;

########################################################
条件查询:
MariaDB [nsd1904]> use nsd1904;

MariaDB [nsd1904]> select * from base;
MariaDB [nsd1904]> select * from base where password=‘123’;
MariaDB [nsd1904]> select * from base where password=‘456’;
MariaDB [nsd1904]> select * from base where name=‘tom’;

MariaDB [nsd1904]> select * from base where id=‘4’;

########################################################
除了root用户,此nsd1904库只能被用户lisi查询,此用户的密码为123

数据库的授权

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

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

当lisi通过本地localhost登录,输入密码为123,将会获得nsd1904库中所有表格的查询权限.

[root@server0 ~]# mysql -u root -p123
MariaDB [(none)]> grant select on nsd1904.* to lisi@localhost identified by ‘123’;

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

[root@server0 ~]# mysql -u lisi -p123 #检测lisi登录
MariaDB [(none)]> show databases;
MariaDB [(none)]> exit

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

use nsd1904;
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;

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

use mysql;
select user,host,password from user;
select user,host,password from user where password=’’;

#删除表中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
ERROR 1130 (HY000): Host ‘server0.example.com’ is not allowed to connect to this MariaDB server

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~上善若水~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值