Linux-Engineer5

环境的初步设置:修改防火墙默认区域为允许所有
虚拟机Server

 # firewall-cmd --set-default-zone=trusted

虚拟机Desktop

 # firewall-cmd --set-default-zone=trusted 

###########################################
iSCSI网络磁盘 默认端口:3260

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

• 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
一、划分新的分区

[root@server0 ~]# lsblk 
[root@server0 ~]# fdisk /dev/vdb
  划分一个5G的主分区

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

二、部署iSCSI共享存储
1.安装软件targetcli(服务端软件)

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

2.运行targetcli可以再交互式界面,配置iSCSI共享存储

[root@server0 ~]#  targetcli

 A:创建与命名后端存储(大冰箱----->纸制包装)
 /> backstores/block create name=test dev=/dev/vdb1
       后端存储      块设备     创建      命名            具体设备
 /> ls

 B:创建target,磁盘组(木质包装)
 /> iscsi/ create iqn.2018-09.com.example:server0
        
 /> ls

 C:lun,逻辑单元(大冰箱纸制包装)放入(木质包装)
 /> iscsi/iqn.2018-09.com.example:server0/tpg1/ 
    luns     create   /backstores/block/test

 /> ls

 D:配置访问控制,设置访问服务时,客户端声称的名字
 /> iscsi/iqn.2018-09.com.example:server0/tpg1/acls 
    create  iqn.2018-09.com.example:desktop0

 /> ls

 E:客户端访问本机的IP地址及端口
  [root@server0 ~]# targetcli
  /> iscsi/iqn.2018-09.com.example:server0/tpg1/ 
   portals create 172.25.0.11

  />  ls
  />  exit  退出

三、重起服务target

[root@server0 ~]# systemctl restart target
[root@server0 ~]# systemctl enable target

客户端:虚拟机Desktop
一、安装所需软件包iscsi-initiator-utils
yum安装能够补全包名:
1、前提由Yum的缓存(yum repolist)
2、当前系统没有安装的,才可以补全

[root@desktop0 ~]# rpm -q iscsi-initiator-utils

二、修改配置文件,用来指定客户端声称的名字

1.修改配置文件

# vim  /etc/iscsi/initiatorname.iscsi 
InitiatorName=iqn.2018-09.com.example:desktop0

2.需重启服务 iscsid 以更新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

三、发现服务端共享存储

1.书写发现的命令, 参考# man iscsiadm 搜索全文 /example

Ctrl - :减小字体
Ctrl Shift + :变大字体

 # iscsiadm --mode discoverydb --type sendtargets --portal 172.25.0.11  --discover

2.本机识别服务端共享

  [root@desktop0 ~]# lsblk 
  [root@desktop0 ~]# systemctl restart iscsi
  [root@desktop0 ~]# lsblk 
  [root@desktop0 ~]# systemctl enable iscsi

数据库服务基础
什么是数据库 : 存放数据的仓库
在数据库中,有很多的库,在每一个库中会有很多的表格

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

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

2.重起服务

[root@server0 ~]# systemctl restart mariadb
[root@server0 ~]# systemctl enable mariadb

二、数据库简单的使用

[root@server0 ~]# mysql
  > show   databases;         #显示所有的库

  > create  database  test1;   #创建test1库
  > show  databases;             #显示所有的库
  > drop  database  test18;     #删除test1库

  > show  databases;    #显示所有的库
  > exit                #退出
  Bye
[root@server0 ~]# mysql
  > create  database  test;  #创建test库
  > show    databases;      #显示所有的库

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

数据库管理员root,用户信息存储mysql库中表user

系统管理员root,用户信息存储/etc/passwd

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

在Linux系统命令行,为数据库管理员设置密码123

  # mysqladmin  -u  root  password  '123' 

  # mysql -u root -p         #交互式登陆
  Enter password: 

  # mysql -u root -p123      #非交互式登陆

命令行操作已知旧密码,修改新的密码

# mysqladmin -u root -p123   password '321'

了解:/etc/my.cnf
• 禁止监听,只服务于本机

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

###########################################
四、数据库恢复数据

1.Linux命令行,下载一个备份文件users.sql

[root@server0 ~]# ls /users.sql
/users.sql

2.Linux命令行,导入数据到test库

  # mysql -u root -p123 test< users.sql 

###########################################
五、进行表格的操作(表字段 表记录)

增 insert 删 delete 改 update 查select

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

MariaDB [(none)]> show databases;
MariaDB [(none)]> use test;         #进入test库

查寻格式:select  表字段  from 表名

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

	>  desc   表名                 #查询表结构

查询内容多的表格

[root@server0 ~]# mysql -u root -p123
MariaDB [test]> use mysql;

MariaDB [mysql]> show  tables;    #查看所有表格
MariaDB [mysql]> desc  user ;     #查询表结构

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

MariaDB [mysql]> select * from test.base;

有条件的查询 where 表字段=‘值’

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

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

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

> select * from base where name='tom'  and 
  password='123';

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

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

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

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

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

当lisi在localhost进行登陆,输入密码123,
将会获得test库中所有表的查询权限

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

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

[root@server0 ~]# mysql -u lisi -p123
MariaDB [(none)]> exit

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

  1. 在系统 server0 上使用数据库 test,并使用相
    应的 SQL 查询以回答下列问题:
    1)密码是 solicitous 的人的名字?
 > use test;
 > select * from base ;

 > 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;
 
> select  count(*)   from   base,location    
   where   base.name='Barbara'   and 
   location.city='Sunnyvale'   and 
   base.id=location.id;

> insert  base  values  ('6','Barbara','123456');
> select  *  from   base;
> insert  location  values  ('6','Sunnyvale');
> select  *  from   location;

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

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

  > flush  privileges;   #刷新数据所有策略

命令行测试: mysql -u root -h server0.example.com
           登陆失败
发布了24 篇原创文章 · 获赞 2 · 访问量 1113

猜你喜欢

转载自blog.csdn.net/Kammingo/article/details/104945618