Linux笔记

Linux笔记

Yum仓库

mkdir -p /mnt/cdrom

vi /etc/fstab
/dev/cdrom /mnt/cdrom iso9660 auto,ro 0 0 (开机自动挂载)

mount -a(只要报错,千万不要重启)

cd /etc/yum.repos.d/
rm -rf  *
touch centos.repo

vi centos.repo
[local]
name=cdrom
baseurl=file:///mnt/cdrom
gpgcheck=0
enable=1


yum clean all
yum makecache

常用命令

wc -l (c:count-l:line)

ls /var/log/ | grep -l

rm -rf /var/log (r递归的意思f:文件)

find / -name *.log

mv

top

sha1sum

renice -n 10 pid

nice -n 10 sha1sum /dev/zero

ps -o pid,pcpu,nice,comm --sort=-nice $(pgrep sha1sum)

free -h(内存空间,-h会以单位的形式来表示,如果G,M)

df -h(磁盘空间,-h会以单位的形式来表示,如果G,M)

uptime(查看系统负载)

who

w -h -u test1

last(查看最近登录的用户信息)

last -n 10

ro:read-only

yum list at
yum list httpd(查看仓库里面有没有这个安装包)
yum info httpd(查看软件包的详细信息)

rpm -qi at (q:query i:install)

yum localinstall
yum groupinstall


rpm -ivh net-tools*

find / -name test1.txt

find / -name *.txt

find / -name tes*.txt


find /home -type f |  xagrs grep -n hello (-n: number查询的内容所处在文件的行号)

df --->du

df-->cd /mnt/cdrom-->du images/ -h(解决哪些目录使用率接近100%情况下会连环用该命令)



cat /etc/passwd | grep -n root

pwd(pwd这个命令,它的使用场景,比如你进入目录特别长,你记不住了,那么需要查看一下当前你正在工作的目录;还有一种,主要复制目录特别用。)

cat /var/log/message

more /var/log/message

less /var/log/message

head -n 10 message

tail -n 20 message

hostname client



usemod -d /tmp/test1 test1

cat /etc/passwd

useradd -d /tmp/test3 test3

useradd -G test test3 -M

userdel test2(不彻底的删除账号)

userdel -r test2(-r 彻底删除账号,包括目录)

passwd test2  或者  echo 123456 | passwd --stdin test2

echo $PATH
echo $HOME

 echo "hello world" > test2.txt


export test=/home/lgb
export PATH=$PATH:/usr/local/mysql/bin
export -p


unset test

chkconfig --level 35 mysqld on (3代表多用户模式,说白了就是命令模式,文本模式;5代表图形化模式)
chkconfig --list


--level(0-6)


runlevel (看看系统运行级别)

getenforce(查看系统层面的安全,说白了也是系统上安装的各个应用程序对应的自身安全,如:httpd,ftp)


setenforce 0(关掉系统层面的安全)

重启系统:Init 6、关闭系统:init 0

service httpd start

service sshd start


netstat -anp | more



mount -t auto /dev/cdrom /mnt/cdrom

挂载U盘: 
fdisk -l
mkdir -p /mnt/udisk
mount -t auto /dev/sdc4 /mnt/udisk

umount /mnt/udisk

看看路由:
ip route

tar zcvf (z:gz(zip),c:compress   v:ver  f:file)


yum install -y zip unzip

zip lgb.zip -r lgb

unzip test.zip -d /home


-------------------------------------

usermod -d /home/test1 test1

su - test1

touch hello.txt

find / -user test1 -type f -exec cp av {} /tmp/test \;

任务计划

yum install -y at cron


systemctl start atd

date >> /tmp/time.txt | at now +1min


crontab -e -u test1
*/2 * * * 1-5 date >> /tmp/time.txt

su - test1
crontab -l

crontab -r -u test1

nmcli配置网络

client:
nmc con add con-name "static" ifname eno16777736 type ethernet ip4 10.1.1.2/24 gw4 10.1.1.1 

nmc con mod "static"  ipv4.address 10.1.1.2/24 ipv4.gateway 10.1.1.1


server:
nmc con add con-name "static" ifname eno16777736 type ethernet ip4 10.1.1.3/24 gw4 10.1.1.1 

nmc con mod "static"  ipv4.address 10.1.1.3/24 ipv4.gateway 10.1.1.1

storage:

nmc con add con-name "static" ifname eno16777736 type ethernet ip4 10.1.1.4/24 gw4 10.1.1.1 

nmc con mod "static"  ipv4.address 10.1.1.4/24 ipv4.gateway 10.1.1.1


验证:
nmcli con show

nmcli con up static(只要网卡脚本发生更改,一定要使用这个命令)

dhcp \static \none

用户及文件管理

ugo:
u:当前用户或者所有者
g:所属组
o:其它用户

权限要分成四段:

t:u:g:o
u:rw-
g:r--
o:r--

u:rwx--->(0,1)
rwx
000-->0
001-->1
010--->2
011--->3
100--->4
101--->5
110--->6
111---->7

g:rwx--->(0,7)
rwx
000----->0


----

111 ----->7


o:rxw-->(0,7)

chmod-->change--mode

集中方式改权限(两种)
1、数字
2、字符

当前用户:读修改能执行:chmod u=rxw test1.txt
所属组:只能读和执行: chmod g=rx test1.txt
其它用户:只能读和执行  chmod o=rx test1.txt


归属权问题(chown---->change-owner)
所有者:chown root:root test1.txt ---> chown root:    test1.txt
所属组:---> chown :root    test1.txt

怎么建立用户?
useradd--->user---add---->useradd test1
怎么建立组?
groupadd--->group---add---> groupadd test

两个概念:主要组和补充组
test1是主要组
test是补充组

chown test1:  test1.txt
chown :test test1.txt

磁盘管理

1、fdisk -l
2、fidisk /dev/sdb
3、p,n(p,+1G),p,w
4、fdisk -l

5、ls -al /dev/sd*

6、mkfs -t ext4 /dev/sdb1

7、mount /dev/sdb1 /oracle

8、lsblk --fs (分区,文件系统,UUID)


9、vi /etc/fstab
UUID=13256237-29ce-4e3c-b253-18cc745384eb /oracle ext4 defaults 0 0

10、mount -a (不能有提示信息,有的话,一般是有问题)
11、df -H

12、cd /oracle/
13、touch lgb.txt
14、echo hello>lgb.txt

15、cd /
16、umount /oracle/
17、mount -t ext4 /dev/sdb1 /oracle/
18、cd /oracle/

19、cat lgb.txt

20、init 6
21、df -H (验证重启后,分区/dev/sdb1是否自动挂载)


-------------------------------------交换分区-------------------------------------------------------------
1、fdisk -l
2、 fdisk /dev/sdb
3、fdisk -l
4、 lsblk 
5、mkswap /dev/sdb2
6、partprobe 
7、mkswap /dev/sdb2
8、lsblk
9、lsblk --fs
10、swapon -s
11、df
12、swapon /dev/sdb2
13、swapon -s
14、free
15、free -m
16、free -H

PARTED
1、vi /etc/fstab
删除/oracle

2、umount /oracle

3、swapon -s
4、swapoff /dev/sdb2

------------------------------------------------
5、parted /dev/sdb(p,rm 1,rm 2,mklabel,GPT,p,quit)

(parted)mklabel
New disk label type?GPT
(parted)p

6、parted /dev/sdb print

7、parted /dev/sdb(mkpart,oracle,ext4,2048s,1000MB,quit)
8、parted /dev/sdb(p,rm 1)
9、parted -s /dev/sdb mkpart oracle ext4 2048s 1000MB
10、parted /dev/sdb(mkpart,swap,linux-swap,1001MB,2000MB,p,quit)
11、parted /dev/sdb(p,rm 1,rm,2,quit)
12、parted -s /dev/sdb mkpart oracle ext4 2048s 1000MB
13、parted -s /dev/sdb mkpart swap linux-swap 1001MB 2000MB
14、parted /dev/sdb print

15、mkfs.ext4 /dev/sdb1

16、mount /dev/sdb1 /oracle/

17、lsblk --fs
18、free -h
19、swapon -s
20、mkswap /dev/sdb2
21、swapon -s
22、swapon /dev/sdb2
23、swapon -s
24、free -h
25、udevadm settle









LVM管理

LVM创建:
0、fdisk -l (查看当前系统下有哪些硬盘)
1、fdisk /dev/sdb
2、p,n(p,+1G),n(p,+1G),w
3、partprobe
4、yum install -y lvm2
5、pvcreate /dev/sdb1 /dev/sdb2  (p:physical,v:volume)
6、pvdisplay 
7、vgcreate pool-1 /dev/sdb1 /dev/sdb3
8、vgdisplay
9、lvcreate --name lv-disk1 -L 500M pool-1  (lv:l-->logical,v-->volume)
10、lvdisplay
11、mkfs.ext4 /dev/pool-1/lv-disk1  (mkfs:mk--->make;fs--->filesystem)
12、mkdir /lv-disk1
13、mount /dev/pool-1/lv-disk1 /lv-disk1/
14、df -h
15、cd /lv-disk1/
16、echo hello > disk1.txt
17、cat disk1.txt 
18、umount /lv-disk1
19、mount /dev/pool-1/lv-disk1 /lv-disk1/
20、cd /lv-disk1/
21、cat disk1.txt

注释:只有主分区才能做成PV物理卷,逻辑分区无法做成物理卷


LVM-逻辑卷扩容:
dd if=/dev/zero of=/lv-disk1/test.txt bs=1M count=500
df -h(确认文件系统/lv-disk1是否写满,说白了就是使用100%)
cp -f vmlinuz-3.10.0-327.el7.x86_64 /lv-disk1/ (文件不能正常拷贝过去,说明文件系统没有有效空间)
lvextend -L +500M /lv-disk1
df -h (进一步验证是否增加了500M)
umount /lv-disk1
e2fsck /dev/mapper/pool--1-lv--disk1 (检查扩展后文件系统是否有问题)--(ck-->checksum)
resize2fs /dev/mapper/pool--1-lv--disk1 
df -h (进一步验证是否增加了500M)
cp -f /boot/vmlinuz-3.10.0-327.el7.x86_64 /lv-disk1/(文件能正常拷贝过去,说明文件系统没有问题)

LVM-卷组扩容:
fdisk /dev/sdb
p,n(p,+1G),n(p,+1G),w
pvcreate /dev/sdb4
vgextend pool-1 /dev/sdb4
vgdisplay 
cat /lv-disk1/test1.txt 

LVM-卷组缩减:
vgdisplay
pvmove /dev/sdb1 (把PE都移植到可用的PE块里面去)
vgreduce pool-1 /dev/sdb1(把物理卷从卷组里面移除)
pvremove /dev/sdb1(彻底删除物理卷)
cat /lv-disk1/test1.txt (验证逻辑卷文件系统里面的内容是否完好)
vgdisplay (卷组空间PE是否减少)

LVM-逻辑卷删除:
lvdisplay 
lvremove /dev/pool-1/lv-disk3 (删除后,数据全部丢失)

进程管理

1、ps axu
2、ps axl
3、ps -ef
4、sleep 10000 &
5、jobs
6、fg %num   (前台进程fron-groud)
7、ctril+z(暂停)或者(ctril+c)
8、ps j
9、bg %num  (后台进程back-ground)
10、(while true;do echo -n "zhangsan" >> /tmp/name.txt;sleep 1;done) &
11、(while true;do echo -n "lisi" >> /tmp/name.txt;sleep 1;done) &
12、(while true;do echo -n "wangwu" >> /tmp/name.txt;sleep 1;done) &
13、jobs
14、tail -f /tmp/name.txt(另外开一个窗口监听)
15、ps j


2、kill -9 pid (-9是signal信号)
3、pkill  -t 终端名字  -U UID 进程名
7、su - test (test用户,你必须先建立)
8、sha1sum /dev/zero & 或者 sleep 1000 &
9、exit(退出用户test)
10、pstree -p test
11、pgrep -l -u test
12、pkill -9 -u test
13、pgrep -l -u test
14、w -h -u test
15、pkill -t tty3

16、nice -n 10 sha1sum /dev/zero &

17、jobs

18、job -l(看PID号)

19、jobs -l | grep pid

20、fg %13 (jobs的序列号)


21、ps -o pid,pcpu,nice,comm --sort=-nice $(pgrep sha1sum)

select key,value from student where name='lgb'

DHCP

服务器端:
0、nmcli con add con-name server-eno33554960 ifname eno33554960 type ethernet ip4 10.1.1.2/24 gw4 10.1.1.254
1、yum install -y dhcp
2、find / -name dhcp*
3、cd /etc/dhcp
4、vi dhcpd.conf
subnet 10.1.1.0 netmask 255.255.255.0 {
  range 10.1.1.1 10.1.1.10;
  #option domain-name-servers ns1.internal.example.org;
  #option domain-name "internal.example.org";
  option routers 10.1.1.254;
  option broadcast-address 10.1.1.255;
  default-lease-time 600;
  max-lease-time 7200;
}
5、systemctl restart dhcpd
6、ps axf | grep dhcpd

注释:如果地址配置错了,想重新修改,使用该命令:nmcli con mod server-eno33554960 ifname eno33554960 type ethernet ip4 10.1.1.2/24 gw4 10.1.1.254 
 学习:cat 文件名>> 文件名 (文件内容重定向)          
显示:cat/echo

客户端:
cd /etc/sysconfig/network-scripts/
学习:(nmcli con show 查看
nmcli con down 下线原来的以太网
nmcli con add type ethernet ifname eno16777728 con-name dhcp
添加一个dhcp的以太网类型
nmcli con up dhcp上线)

vi ifcfg-eno16777736
TYPE=Ethernet
BOOTPROTO=dhcp  (此处修改为dhcp)
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno33554960
UUID=1e003d18-5f6e-44ba-ab3f-d4e71a346e48
DEVICE=eno33554960
ONBOOT=yes  (此处修改为yes)


------------------------------------------
0、nmcli con show
1、nmcli con down static
2、nmcli con show
3、ip addr del 10.1.1.2/24 dev eno16777736
4、ip add
5、nmcli con up eno16777736
6、ip addr
7、nmcli con down eno16777736
8、nmcli con show
9、ip add
10、dhclient -r(释放IP地址)

注释:证明DNS是否正确获取和IP地址是否正确获取和默认网关是否正确获取
1、ip route del default via 10.1.1.3 dev eno16777736;ip route
2、>/etc/resolv.conf
3、nmc con down eno16777736;ip add;nmc con up eno16777736

11、[root@client network-scripts]# init 6

NFS

server端开启nfs服务:
1、setenforce 0
2、systemctl stop firewalld
3、df
4、yum clean all
5、yum makecache
6、cat /etc/yum.repos.d/local.repo
7、yum install -y nfs-utils
8、yum install -y rpcbind
9、systemctl enable  rpcbind
10、systemctl start  rpcbind
11、systemctl enable nfs-server
12、systemctl start nfs-server
13、mkdir /nfsshare
14、vi /etc/exports
/nfsshare *.*(rw,sync)

15、exportfs -r

16、systemctl start  rpcbind
17、systemctl start nfs-server

18、showmount -e 127.0.0.1(本地测试是否能挂载成功,这样可以排查网络问题) yum install -y shoumount
19、cd /nfsshare
20、echo hello > storage.txt
19、chmod o+rwx /nfsshare/


客户端:
1、setenforce 0
2、systemctl stop firewalld
3、yum install -y nfs-utils(这个在客户端一定要安装,否则使用mount -t nfs挂载不起)
4、yum install -y showmount
5、showmount -e 10.1.1.3
6、mkdir /share
7、mount -t nfs 10.1.1.3:/nfsshare /share
8、df
9、cd /share
10、 cat storage.txt
11、touch client.txt
12、echo hello > client.txt 
13、cat client.txt


注释:默认情况下,客户端只能在该目录查看文件,不能写或者执行文件,如果想读写执行,那么需要在服务器端放开权限。

DNS

-----------------------------------------------------

yum仓库一定要做


------------------------------------------------------
不管是客户端还是服务器端都要做如下步骤:
NTP:network timesync protocol

1、systemctl disable firewalld
2、systemctl stop firewalld

3、vi /etc/sysconfig/selinux
SELINUX=disabled

4、init 6

5、iptables -L
6、getenforce 

---------------------------------------------------------

1、yum install -y unbound
2、cp -f /etc/unbound/unbound.conf /etc/unbound/unbound.conf.bak

3、vi /etc/unbound/unbound.conf
interface 0.0.0.0
access-control: 0.0.0.0/0 allow
#username: "unbound"
username: ""

4、systemctl enable unbound
5、systemctl start unbound

6、cd /etc/unbound/local.d
7、touch public_net.conf

8、vi public_net.conf 
local-zone: "server." static
local-data: "server.com. IN NS 10.1.1.3"
local-data: "www.client.com. IN A 10.1.1.2"
local-data: "www.server.com. IN A 10.1.1.3"
local-data: "www.storage.com. IN A 10.1.1.4"
local-data-ptr: "10.1.1.2 www.client.com"
local-data-ptr: "10.1.1.3 www.server.com"
local-data-ptr: "10.1.1.4 www.storage.com"

9、systemctl enable unbound
10、systemctl start unbound
11、unbound-checkconf
12、systemctl restart unbound

-------------------------------------------------------
所有的客户机都要做如下配置:
11、vi /etc/resolv.conf
nameserver 10.1.1.3


12、ping www.client.com
13、ping www.server.com
14、ping storage.com
15、yum install -y bind-utils
16、nslookup
www.client.com
www.server.com


FTP

服务端:
-----------------------------------------准备工作-------------------------------------------
1、systemctl disable firewalld;
2、systemctl stop firewalld;
3、vi /etc/sysconfig/selinux 
SELINUX=disabled
4、setenforce 0
5、mount /dev/cdrom /mnt/cdrom
6、df
7、yum clean all
8、yum makecache

注释:所有的虚拟机都关闭防火墙和SELINUX
------------------------------------ftp安装及匿名账户登录,且yum安装lftp---------------------------------
Server:
9、yum install -y vsftpd
10、umount /mnt/cdrom
11、mount /dev/cdrom /var/ftp/pub
12、systemctl enable --now vsftpd
13、ftp://10.1.1.3/ (windows下操作)
14、cd /etc/vsftpd/
15、cp -f vsftpd.conf vsftpd.conf.20210423

第一个实验:把storage做成ftp的YUM仓库,所有虚拟机都能使用yum从仓库下载软件。
客户端:

5、yum install -y lftp
6、lftp www.storage.com
7、cd /etc/yum.repos.d
8、vi local.repo
baseurl=ftp://www.storage.com/pub

9、yum clean all
10、yum makecache
------------------------------------------新建文件夹,上传数据和重命名文件夹-----------------------------------------------------------------
服务端
16、cd /etc/vsftpd
17、vi vsftpd.conf
新建文件夹和重命名文件,删除文件夹,上传及复制
anon_mkdir_write_enable=YES   (新建文件夹)
anon_upload_enable=YES    (上传及复制文件)
anon_other_write_enable=YES  (重命名文件,删除文件夹)

18、mkdir /var/ftp/work
19、chmod 777 /var/ftp/work/

20、systemctl restart vsftpd
21、ftp://10.1.1.3/ (windows下操作),进入work目录下新建文件夹(document,tools),上传数据,重命名文件夹



---------------------------------------虚拟账户---------------------------------------
服务器端:
1、全局配置开启虚拟账户:
cd /etc/vsftpd
vi vsftpd.conf
guest_enable=YES
guest_username=ftp
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES

mkdir -pv /etc/vsftpd/vsftpd_user_conf

2、开启认证模块:

cd /etc/vsftpd

touch user_password.txt
vi user_password.txt
vtest1
123456
vtest2
123456

db_load -T -t hash -f user_password.txt /etc/vsftpd/vsftpd_login.db

cp -f /etc/pam.d/vsftpd /etc/vsftpd

>/etc/pam.d/vsftpd
vi /etc/pam.d/vsftpd
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login



3、用户账户权限:
cd /etc/vsftpd/vsftpd_user_conf
touch vtest1
touch vtest2

vi vtest1
local_root=/home/vtest1

write_enable=YES

anon_umask=022

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

4、设置虚拟账户目录权限:
mkdir -p /home/vtest1/write
chown -R ftp:ftp /home/vtest1
chmod o+rwx /home/vtest1/write(这个权限可以新建文件夹,重命名,上传文件)

5、systemctl restart vsftpd

客户端:

lftp 10.1.1.3 -uvtest1,123456

Chrony

-----------------------------------------------------

yum仓库一定要做


------------------------------------------------------
不管是客户端还是服务器端都要做如下步骤:
NTP:network timesync protocol

1、systemctl disable firewalld
2、systemctl stop firewalld

3、vi /etc/sysconfig/selinux
SELINUX=disabled

4、init 6

5、iptables -L
6、getenforce 

---------------------------------------------------------
server:
1、yum install -y chrony
2、vi /etc/chrony.conf
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 10.1.1.3 iburst
allow 0.0.0.0/0 
local stratum 1

注释:注释掉server 0.centos.pool.ntp.org iburst
3、systemctl enable chronyd
4、systemctl start chronyd

5、timedatectl set-ntp on

6、chronyc sources -v(查看是否同步成功的一些状态)

7、ps axf | grep chronyd

---------------------------------------------
client:

1、yum install -y chrony
2、vi /etc/chrony.conf
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 10.1.1.3 iburst

3、systemctl enable chronyd
4、systemctl start chronyd

5、timedatectl set-ntp on

6、chronyc sources -v (查看是否同步成功的一些状态)

7、 chronyc tracking (手动同步)

8、ps axf | grep chronyd

MariaDB


yum install mariadb-server
1、mount /dev/cdrom /mnt/cdrom
2、yum groupinstall mariadb mariadb-client -y 
3、systemctl enable --now mariadb
4、ps axf
5、pgrep mysql
6、ps -ao pid,pcpu,nice,comm $(pgrep mysql)

7、renice -n -10 $(pgrep mysql)


8、mysql

9、show databases;
10、exit;

11、mysql_secure_installation (所有的都按y吧)

12、mysql(验证是否不通过密码登陆)

13、mysql -uroot -predhat

14、mysql -uroot -p(如果您不希望别人看到您输入的密码那么使用该命令)

15、show databases;(查看当前有哪些数据库)

16、create database inventory;

17、show databases;

18、use inventory;
19、show tables;

20、创建三个表(product,category,manufacturer)
create table product
(
   id int(11) not null auto_increment,
   name varchar(100) not null,
   price double not null,
   stock int(11) not null,
   id_category int(11) not null,
   id_manufacturer int(11),
   primary key(id)
)charset=utf8;


create table category
(
   id int(11) not null auto_increment,
   name varchar(100) not null,
   primary key(id)
)charset=utf8;

create table manufacturer
(
   id int(11) not null auto_increment,
   name varchar(100) not null,
   seller varchar(100) not null,
   phone_number varchar(100) not null,
   primary key(id)
)charset=utf8;

21、分别在三个表中插入数据(product,category,manufacturer)

insert into product(name,price,stock,id_category,id_manufacturer) values("ThinkServer TS140",539.88,20,2,4);

insert into product(name,price,stock,id_category,id_manufacturer) values("ThinkServer TS440",1736.00,10,2,4);

insert into product(name,price,stock,id_category,id_manufacturer) values("RT-AC68U",219.99,10,1,3);


insert into product(name,price,stock,id_category,id_manufacturer) values("X110 64GB",73.84,100,3,1);


-------------------------------------------------------------------------------------------------------------------------


insert into category(name) values("Networking");

insert into category(name) values("Servers");

insert into category(name) values("Ssd");


------------------------------------------------------------------------------------------------------------------------


insert into manufacturer(name,seller,phone_number) values("SanDisk","John Miller","13688084569");

insert into manufacturer(name,seller,phone_number) values("Kingston","Mike Taylor","13688084598");

insert into manufacturer(name,seller,phone_number) values("Asus","Wilson Jckson","13699084598");

insert into manufacturer(name,seller,phone_number) values("Lenovo","Allen Scott","13699062598");


show tables;


select * from product;

select * from product limit 2;(限制查询的行数)

desc product;


update product set stock=30 where id=1;(更新某行数据的内容)

delete from product where id=4;(删除指定数据)

select name,price from product;(你想查询指定字段值)

select name,price from product where price>200;

select name,price from product where price<200;

select name,price from product where price=1736;

select name,price from product where price>=1736;

select * from product where name like 'Think'; (模糊查询)

select * from product where name like "%Think%"; (模糊查询)

select * from product where price in(1736,539.88,179);(查询某一列可能值)


select * from product where price >=200 and price <=500;(查找指定范围的内容)


select * from product limit 2 offset 1;

select * from product limit 2 offset 3;


select distinct * from product;

select distinct * from product where price<=100 or price <=300;


select distinct * from product order by price desc;


select distinct * from product order by price asc;


select HOST,User,Password from user;

create user lgb@10.1.1.1 identified by 'redhat';(创建一个远程登陆的用户)

select HOST,User,Password from user;(验证是否创建成功)


grant all privileges on *.* to 'lgb'@'%' identified by 'redhat' with grant option; (如果带with grant option,那么lgb这个账户也可以给其它账户授权)

show grants for lgb;


-------------------------------------------------------
备份数据库

1、mysqldump -uroot -predhat inventory > /tmp/inventory.sql

2、mysqldump -uroot -predhat --all-databases > /tmp/all-databases.sql


3、mysqladmin -uroot -predhat variables | grep datadir

4、show variables like "%data%"

5、show variables like "datadir";


6、cd /var/lib/mysql/

7、ls -al


--------------------------------------------------------------

恢复数据库


1、drop  database inventory;


2、MariaDB [(none)]> create database inventory;


3、mysql -proot -predhat

4、exit


5、mysql -uroot -predhat inventory < /tmp/inventory.sql 

6、mysql -proot -predhat

7、show databases;

8、use inventory;

9、show tables;


----------------------------------------------------------------------
客户端的操作:
mount /dev/cdrom /mnt/cdrom
,
yum groupinstall mariadb-client -y

mysql -ulgb -predhat -h 10.1.1.2


LAMP

http/https

html


php

静态的和动态的



本地文件,或者说某些文字使用数据库来存,比如MYSQL

LAMP:
L:linux;

A:apache

M:mariadb

P:php


yum install -y httpd


systemctl enable --now httpd

pgrep httpd


pgrep httpd | wc -l

http://10.1.1.2

8080/8081/


ps -ao user,group,pid,nice,comm $(pgrep httpd) (打印出我们的httpd所关联用户是否是主配置文件里面的定义的用户和组)


*.htaccess
*.htpasswd



ll | grep '^user'

mkdir -p /etc/httpd/conf.d/vhost


mkdir -p /var/www/html/{test1,test2}


cd /etc/httpd/conf.d/vhost

touch test1.conf

vi test1.conf 
<VirtualHost *:9090>
  DocumentRoot "/var/www/html/test1"
  DirectoryIndex index.html
</VirtualHost>

<Directory "/var/www/html/test1">
  Options +Includes -Indexes
  AllowOverride All
  Order Deny,Allow
  Allow from all
</Directory>

touch test2.conf

vi test2.conf 
<VirtualHost *:9091>
  DocumentRoot "/var/www/html/test2"
  DirectoryIndex index.html
</VirtualHost>

<Directory "/var/www/html/test2">
  Options +Includes -Indexes
  AllowOverride All
  Order Deny,Allow
  Allow from all
</Directory>

cd /var/www/html/test1

touch index.html

echo "hello world test1!" > index.html


cd /var/www/html/test2


touch index.html

echo "hello world test2!" > index.html



------------------------动态PHP网站开发----------------------------------------------------

mount /dev/cdrom /mnt/cdrom

yum install -y php




vi test1.conf 
<VirtualHost *:9090>
  DocumentRoot "/var/www/html/test1"
  DirectoryIndex index.php
</VirtualHost>

<Directory "/var/www/html/test1">
  Options +Includes -Indexes
  AllowOverride All
  Order Deny,Allow
  Allow from all
</Directory>

touch test2.conf

vi test2.conf 
<VirtualHost *:9091>
  DocumentRoot "/var/www/html/test2"
  DirectoryIndex index.php
</VirtualHost>

<Directory "/var/www/html/test2">
  Options +Includes -Indexes
  AllowOverride All
  Order Deny,Allow
  Allow from all
</Directory>

cd /var/www/html/test1

touch index.php

echo "hello world test1 php!" > index.php


cd /var/www/html/test2


touch index.php

echo "hello world test2 php!" > index.php


systemctl restart httpd



----------------------------------------
name=value

key=value


变量=值



---------------------------------------------------------------------
yum install php-mysql   php-odbc 

systemctl restart mariadb
systemctl restart httpd



<?php 
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'redhat';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass); 
if(!$conn ) 
{ 
 die('连接失败: ' . mysqli_error($conn));
 } 
else 
{
 echo '连接成功<br />';
}
mysqli_query($conn , "set names utf8"); 
$sql = "select * from product"; 
mysqli_select_db( $conn, 'inventory' ); 
$retval = mysqli_query( $conn, $sql ); 
if(! $retval ) { die('查询失败: ' . mysqli_error($conn)); } 
else
{
 echo "数据查询成功\n";
}
while($row=mysqli_fetch_row($retval)){
  echo "<br>";
  echo "{id=$row[0],name=$row[1]}.<br>";
}
 mysqli_close($conn); 
?>

Tomcat

1.下载jdk8

查看yum库中都有哪些jdk版本,或者直接安装jdk1.8.0版本

yum search java|grep jdk

yum install java-1.8.0-openjdk*


2、上传apache-tomcat-7.0.81.tar.gz文件到/usr/local


3、cd /usr/local/apache-tomcat-7.0.81/bin

4、./startup.sh


5、cd /usr/local/apache-tomcat-7.0.81/webapps/mysql

6、cp mysql.jsp /tmp

7、vi mysql.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

<% 
    try{
        Class.forName("com.mysql.jdbc.Driver");//???????,????????
        String url="jdbc:mysql://127.0.0.1:3306/lgb";  //?????????mysql???ip???,mysql???????????
        String username="root";   //????
        String password="redhat";  //????
        Connection conn=DriverManager.getConnection(url,username,password);
        if(conn!=null){
            out.println("mysql is con success");
        }else{
            out.println("mysql is failed");
        }
        String sql="select * from student";
        Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
        ResultSet rs=stmt.executeQuery(sql);

        while(rs.next()){%>

        id:<%=rs.getString(1)%>

        name:<%=rs.getString(2)%><br><br>

       <%}
    }catch(ClassNotFoundException e){
        e.printStackTrace();
    }
%>
</body>
</html>

注释:修改连接数据库lgb改成inventory,查询表student改成product。


8、项目代码打包:jar -cvf cjzy.war mysql.jsp


9、在客户端打开网站http://10.1.1.2:8080/

注释:如果能打开网站,说明环境搭建没有问题

10、部署项目代码,点击首页上“Manager App”,进入tomcat后台部署项目;

注释:如果弹出用户名和密码窗口,你可以输入“cat tomcat-users.xml”这个文件里面设置的用户名和密码。


11、上传war文件,点击部署“Deploy”,部署成功后,就会看到cjzy这个文件名称;


12、打开你部署的网站:http://10.1.1.2:8080/gsxy/mysql.jsp

注释:如果能打开说明你的项目代码部署没有问题

ISCSI

服务器端创建存储:

1、fdisk -l (看可用硬盘信息)
2、vgdisplay (向查看哪些卷组或者存储池)
3、pvdisplay (主要是哪些卷组或者存储池里面有些物理卷或则分区)

-------------------------------------------------------------------
如果上面没有建立存储池,那么需要先建立,才能做如下步骤
4、lvcreate -n lv-disk1 -L 1G pool-1
5、yum install -y targetcli
6、targetcli
7、targetcli(ls,cd backstores,cd block,create name=disk1 dev=/dev/pool-1/lv-disk1,cd iscsi,create iqn.2021-04.com.wlaqj.www:server,cd iqn.2021-04.com.wlaqj.www:server/tpg1/acls;create iqn.2021-04.com.wlaqj.www:client;cd ..;cd luns;create /backstores/block/disk1;cd /;ls)



8、cd /etc/target/ (进入目录确认saveconfig.json是否存在)
9、cat saveconfig.json



----------------------------------------------------------------------------------

客户端启用远程iscsi存储:

1、yum install -y iscsi-initiator-utils
2、cd /etc/iscsi
3、vi initiatorname.iscsi
InitiatorName=iqn.2021-04.com.wlaqj.www:client

4、systemctl enable --now iscsi


5、iscsiadm -m discovery -t st -p 10.1.1.2

6、fdisk -l(验证登陆之前有哪些硬盘)

7、iscsiadm -m node -T iqn.2021-04.com.wlaqj.www:server -l

8、fdisk -l((验证登陆之后有哪些硬盘)
9、blkid

10、mkfs.xfs /dev/sdc

11、mkdir /sdc

12、mount /dev/sdc /sdc
13、cd /sdc
14、mkdir -p lgb
15、echo hello > lgb/hello.txt
16、cat lgb/hello.txt 
17、df
18、umount /sdc

19、iscsiadm -m session -P 3

20、iscsiadm -m node -T iqn.2021-04.com.wlaqj.www:server -u

-------------------(确认是否卸载成功)----------------------------------
21、iscsiadm -m session -P 3
22、lsblk
23、blkid
24、fdisk -l


-------------------------(重新登陆挂载,验证文件是否正确)--------------------------------------------------

25、iscsiadm -m discovery -t st -p 10.1.1.2

26、iscsiadm -m node -T iqn.2021-04.com.wlaqj.www:server -l
27、lsblk
28、blkid
29、fdisk -l
30、mount /dev/sdc /sdc
31、cat /sdc/lgb/hello.txt 



-------------------------------------------------------------------------------------------------------------------

umount /sdc

iscsiadm -m node -T iqn.2021-04.com.wlaqj.www:server -u
iscsiadm -m node -T iqn.2021-04.com.wlaqj.www:server -o delete
iscsiadm -m session -P 3
iscsiadm -m discovery -t st -p 10.1.1.2
iscsiadm -m node -T iqn.2021-04.com.wlaqj.www:server -l

blkid

mount /dev/sdc /sdc

cat /sdc/lgb/hello.txt

----------------------------------------------------------------------------------------------------------------

KVM

1、hostnamectl set-hostname kvm-node1
2、hostname
3、yum makecache
4、yum install -y qemu-kvm qemu-img virt-manager virt-install virt-viewer libguest* libvirt*
5、yum groupinstall -y virtualization-client virtualization-platform virtualization-tools
6、yum -y groupinstall "X Window System"
7、yum -y groupinstall "GNOME"
8、 yum install -y tigervnc-server.x86_64
9、init 6
10、startx

cirros
cubswin:)


-----------------------------------------生成虚拟机----------------------------------------------


五:项目(把sever模拟宽带路由器)
1、iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -j SNAT --to-source 192.168.229.128
2、iptables -L -n
3、ping www.jd.com ---->在client虚拟机上去ping


client:(kvm1虚拟机上网测试)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值