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 管理员在数据库中的密码值
来源:oschina
链接:https://my.oschina.net/u/4437431/blog/3213114