正式学习linux-17

烂漫一生 提交于 2020-04-06 05:01:16

1.配置iscsi服务端

targetcli 是用于管理iSCSI 服务端存储资源的专用配置命令,它能够提供类似于fdisk 命令的交互式配置功能。

[root@linuxprobe ~]# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb34
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/> ls #显示其目录结构
o- / ................................................................... [...]
o- backstores ........................................................ [...]
| o- block ............................................ [Storage Objects: 0]
| o- fileio ........................................... [Storage Objects: 0]
| o- pscsi ............................................ [Storage Objects: 0]
| o- ramdisk .......................................... [Storage Objects: 0]
o- iscsi ...................................................... [Targets: 0]
o- loopback ................................................... [Targets: 0
/> cd /backstores/block #进入该文件目录
/backstores/block> create disk0 /dev/md0 #将存储设备/dev/md0添加到共享设备的资源池内,并重命名为disk0
Created block storage object disk0 using /dev/md0.
/backstores/block> cd / #进入根目录,不是root目录不要搞混
/> ls #重新查看其目录结构已发生变化
o- / ................... ............................................... [...]
o- backstores ........................................................ [...]
| o- block ........................................... [Storage Objects: 1]
| | o- disk0 .................. [/dev/md0 (40.0GiB) write-thru deactivated]
| o- fileio .......................................... [Storage Objects: 0]
| o- pscsi ........................................... [Storage Objects: 0]
| o- ramdisk ......................................... [Storage Objects: 0]
o- iscsi ..................................................... [Targets: 0]
o- loopback .................................................. [Targets: 0]
/> cd iscsi #进入iscsi目录中
/iscsi>
/iscsi> create #会自动生成iscsi target名称及配置共享资源
Created target iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80. #描述共享资源的唯一字符串,最后的一个.要注意
Created TPG 1.
/iscsi> cd iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80/ #系统在生成这个target 名称后,还会在/iscsi 参数目录中创建一个与其字符串同名的新“目录”用来存放共享资源
/iscsi/iqn.20....d497c356ad80> ls #查看其结构,又有新的变化
o- iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80 .... [TPGs: 1]
o- tpg1 ............................................. [no-gen-acls, no-auth]
o- acls ........................................................ [ACLs: 0]
o- luns ........................................................ [LUNs: 0]
o- portals .................................................. [Portals: 0]
/iscsi/iqn.20....d497c356ad80> cd tpg1/luns
/iscsi/iqn.20...d80/tpg1/luns> create /backstores/block/disk0 #共享出去设备资源池的数据
Created LUN 0.
/iscsi/iqn.20...d80/tpg1/luns> cd .. #回到上级目录
/iscsi/iqn.20...c356ad80/tpg1> cd acls #进入acls目录
/iscsi/iqn.20...d80/tpg1/acls> iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80:client #指定谁可以访问共享的内容
Created Node ACL for iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80:client
Created mapped LUN 0.
/iscsi/iqn.20...d80/tpg1/acls> cd .. #回到上级目录
/iscsi/iqn.20...c356ad80/tpg1> cd portals #进入portals文件夹
/iscsi/iqn.20.../tpg1/portals> create 192.168.10.10 #指定哪个网卡去共享信息
Using default IP port 3260
Created network portal 192.168.10.10:3260.

2.配置linux客户端

[root@linuxprobe ~]# yum install iscsi-initiator-utils #系统已默认安装
[root@linuxprobe ~]# vim /etc/iscsi/initiatorname.iscsi #nitiator #名称文件
InitiatorName=iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80:client #把服务端的访问控制列表名称填写进来
[root@linuxprobe ~]# systemctl restart iscsid #重启该服务
[root@linuxprobe ~]# systemctl enable iscsid #将该服务加入启动项
ln -s '/usr/lib/systemd/system/iscsid.service' '/etc/systemd/system/multi-user.
target.wants/iscsid.service'

iscsiadm 是用于管理、查询、插入、更新或删除iSCSI数据库配置文件的命令行工具,用户需要先使用这个工具扫描发现远程iSCSI 服务端,然后查看找到的服务端上有哪些可用的共享存储资源。

[root@linuxprobe ~]# iscsiadm -m discovery -t st -p 192.168.10.10 #扫描并发现可用的存储资源,-t st 参数为执行扫描操作的类型,-p 192.168.10.10 参数为iSCSI服务端的IP地址
192.168.10.10:3260,1 iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80
[root@linuxprobe ~]# iscsiadm -m node -T iqn.2003-01.org.linux-scsi.linuxprobe.x8664:sn.d497c356ad80 -p 192.168.10.10 --login #-m node参数为将客户端所在主机作为一台节点服务器,),-p 192.168.10.10 参数依然为对方iSCSI服务端的IP地址。最后使用--login 或-l参数进行登录验证。
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.linuxprobe.
x8664:sn.d497c356ad80, portal: 192.168.10.10,3260] (multiple)
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:
sn.d497c356ad80, portal: 192.168.10.10,3260] successful.

在 iSCSI 客户端成功登录之后,会在客户端主机上多出一块名为/dev/sdb 的设备文件。接下来就可以进行磁盘的分区格式化挂载。

可将设备信息写入到/etc/fstab目录,保证挂载。最好用设备的UUID挂载,可用blkid命令进行查看设备的UUID。

3.MariaDB数据库

在登录 MariaDB 数据库后执行数据库命令时,都需要在命令后面用分号(;)结尾。

创建数据库管理账户的格式“CREATE USER 用户名@主机名 IDENTIFIED BY '密码'”

MariaDB [(none)]> CREATE USER luke@localhost IDENTIFIED BY 'linuxprobe';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> use mysql #进入到mysql数据库中
MariaDB [mysql]> SELECT HOST,USER,PASSWORD FROM user WHERE USER="luke"; #查询的是账户luke 的主机名称、账户名称以及经过加密的密码值信息
MariaDB [mysql]> exit #保存并退出,quit直接退出不保存
[root@linuxprobe ~]# mysql -u luke -p #以luke的身份登录并验证密码
Enter password: 此处输入luke 账户的数据库密码
MariaDB [(none)]> SHOW databases; #查看该用户被允许查看的数据库列表
  • GRANT 权限ON 数据库.表单名称TO 账户名@主机名    对某个特定数据库中的特定表单给予授权;
  • GRANT 权限ON 数据库.*TO 账户名@主机名    对某个特定数据库中的所有表单给予授权;
  • GRANT 权限ON*.*TO 账户名@主机名    对所有数据库及所有表单给予授权;
  • GRANT 权限1,权限2 ON 数据库.*TO 账户名@主机名    对某个数据库中的所有表单给予多个授权;
  • GRANT ALL PRIVILEGES ON *.*TO 账户名@主机名    对所有数据库及所有表单给予全部授权(需谨慎操作)
MariaDB [mysql]> GRANT SELECT,UPDATE,DELETE,INSERT ON mysql.user TO luke@localhost; #对该账户进行授权
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> SHOW GRANTS FOR luke@localhost; #查看该账户的授权
MariaDB [(none)]> REVOKE SELECT,UPDATE,DELETE,INSERT ON mysql.user FROM luke@localhost; #对该用户的授权进行取消
Query OK, 0 rows affected (0.00 sec)
  • CREATE DATABASE     数据库名称创建新的数据库
  • DESCRIBE     表单名称描述表单
  • UPDATE     表单名称SET attribute=新值WHERE attribute>原始值更新表单中的数据
  • USE     数据库名称指定使用的数据库
  • SHOW databases     显示当前已有的数据库
  • SHOW tables     显示当前数据库中的表单
  • SELECT * FROM     表单名称从表单中选中某个记录值
  • DELETE FROM     表单名WHERE attribute=值从表单中删除某个记录值
MariaDB [(none)]> CREATE DATABASE linuxprobe; #创建一个数据库名为linuxprobe
MariaDB [(none)]> use linuxprobe; #进入该数据库
MariaDB [linuxprobe]> CREATE TABLE mybook (name char(15),price int,pages int); #创建mybook表单,包含name price pages 等属性信息
Query OK, 0 rows affected (0.16 sec)
MariaDB [linuxprobe]> INSERT INTO mybook(name,price,pages) VALUES('linuxprobe','60', '518'); #插入一条信息,其中书名为linuxprobe,价格和页数分别是60 元和518 页。
MariaDB [linuxprobe]> SELECT * FROM mybook; #查询该表单中的信息
+------------+-------+-------+
| name | price | pages |
+------------+-------+-------+
| linuxprobe | 60 | 518 |
+------------+-------+-------+
1 rows in set (0.01 sec)
MariaDB [linuxprobe]> UPDATE mybook SET price=55 ;#更新mybook表单中的价格
MariaDB [linuxprobe]> SELECT name,price FROM mybook;
+------------+-------+
| name | price |
+------------+-------+
| linuxprobe | 55 |
+------------+-------+
1 row in set (0.00 sec)
MariaDB [linuxprobe]> DELETE FROM mybook; #删除mybook表单中的全部信息
Query OK, 1 row affected (0.01 sec)
MariaDB [linuxprobe]> SELECT * FROM mybook; #查询mybook表单中的信息,内容为空
Empty set (0.00 sec)
  • =     相等
  • <>    或!= 不相等
  • >     大于
  • <     小于
  • >=     大于或等于
  • <=     小于或等于
  • BETWEEN     在某个范围内
  • LIKE     搜索一个例子
  • IN     在列中搜索多个值
MariaDB [linuxprobe]> SELECT * FROM mybook WHERE price>75; #查询该表单中价格大于75
MariaDB [linuxprobe]> SELECT * FROM mybook WHERE price!=80; #查询该表格中价格不等于80
MariaDB [mysql]> exit #保存并退出
Bye

数据库的备份及恢复

mysqldump 命令用于备份数据库数据,格式为“mysqldump [参数] [数据库名称]”

[root@linuxprobe ~]# mysqldump -u root -p linuxprobe > /root/linuxprobeDB.dump #-u参数用于定义登录数据库的账户名称,-p参数代表密码提示符,linuxprobe代表要备份的数据库,/root/linuxprobeDB.dump代表备份文件放置的地方
Enter password: 此处输入root 管理员在数据库中的密码
[root@linuxprobe ~]# mysql -u root -p linuxprobe < /root/linuxprobeDB.dump #创建数据库,不过内容是空的,使用该命令进行数据库内容的恢复
Enter password: 此处输入root 管理员在数据库中的密码值

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!