Linux常用脚本补充mysql和yum离线安装等内容


Linux常用脚本补充mysql和yum离线安装等内容


把自己的linux操作相关笔记分享出来。

网络相关

配置IP

cd /etc/sysconfig/network-scripts/

vi ifcfg-enp0s3

#
###DHCP网络配置####
NAME=eth0                                               ##指定网络链接的名字为eth0,个人习惯,开心就好
DEVICE=eth0                                             ##指定文件管理的网卡名称
BOOTPROTO=dhcp                                          ##dhcp动态获取,none和static都表示静态网络
ONBOOT=yes                                              ##是否开机启动
 
#
###静态网络地址配置####
NAME=eth0                                               ##指定网络链接的名字为eth0,个人习惯,开心就好
DEVICE=eth0                                             ##指定文件管理的网卡名称
BOOTPROTO=static                                        ##dhcp动态获取,none和static都表示静态网络
ONBOOT=yes                                              ##是否开机启动
IPADDR=10.0.0.10                                        ##设定ip为10.0.0.10
NETMASK=255.0.0.0|PREFIX=8                              ##子网掩码为255.0.0.0
 
GATEWAY=10.0.0.1                                        ##网关地址,如果需要访问外网需要设置
DNS=***.***.***.***                                     ##DNS地址,如需域名解析需要设置
PEERDNS=yes|no                                          ##是否修改/etc/resolv.conf,no表示不修改
####IPADDR、NETMASK、PREFIX、GATEWAY、DNS后面加数字,可以同时设置多组IP地址
####当然还有更多的参数可以配置,如果需要可以查看帮助文档/usr/share/doc/initscripts-*/sysconfig.txt 

DNS配置

cat /etc/resolv.conf

vim   /etc/resolv.conf

nameserver 172.17.0.1

nameserver 114.114.114.114

#
#或者在网卡配置里修改
vi ifcfg-enp0s3
DNS=***.***.***.***                                     ##DNS地址,如需域名解析需要设置

重启网络

service network restart

systemctl restart network (centos7版本命令)

服务启动

centos6

service network start
service network stop
service network restart
service network reload
service network status
## 服务自启动
ckconfig --level 5 服务名 on

centos7

systemctl restart network
## 查看列表
systemctl list-unit-files
systemctl --type service
## 查找服务名
systemctl list-unit-files | grep docker
## 设置自启动
systemctl enabled 服务名称
## 关闭自启动
systemctl disabled 服务名称

主机名

hostname  ##查看主机名

hostnamectl set-hostname your-new-host-name  ##修改主机名

#
 查看修改结果
hostnamectl status

#
 设置 hostname 解析
echo "127.0.0.1   $(hostname)" >> /etc/hosts

网络查看

ip addr/address  ##可显示默认网卡的 IP 地址,Kubernetes 将使用此 IP 地址与集群内的其他节点通信,如 172.17.216.80

ip route show  ##可以知道机器的默认网卡,通常是 eth0,如 default via 172.21.0.23 dev eth0


用户

创建用户

useradd rocket
passwd 123456

免密登录

host修改

vi /etc/hosts
192.168.3.210 worker1
192.168.3.211 worker2
192.168.3.212 worker3

免密设置


查看系统版本

cat /etc/redhat-release  ##系统版本

lscpu  ##查看CPU情况

#
 查看内核版本
uname -srm

系统各目录

/bin: /usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。

/boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz 为 linux 的内核文件,以及 /boot/gurb。建议单独分区,分区大小100M即可

/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt。

/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。

注:/etc/X11 存放与 x windows 有关的设置。

/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~edu 表示用户 edu 的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据

/lib: /usr/lib: /usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为 /lib/modules。

/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于 /disk 中,此目录下就会自动产生目录 /disk/lost+found

/mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。

/opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的 KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下

/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。

/root:系统管理员root的家目录,系统第一个启动的分区为 /,所以最好将 /root和 /放置在一个分区下。

/sbin: /usr/sbin: /usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能”查看”而不能设置和使用。

/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内。

/usr:应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls 时会查询 /usr/share/man/man1/ls.1.gz 的内容建议单独分区,设置较大的磁盘空间

/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间

Centos7.7 初始化脚本

os7init.sh

使用

sh os7init.sh hostname

java运行

##在线检索
yum search java|grep jdk
##在线安装 1.8
yum install java-1.8.0-openjdk
##进入安装目录
cd /usr/lib/jvm

#
#设置环境变量
vim /etc/profile

#
set java environment

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.275.b01-0.el7_9.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
##使配置文件生效
source /etc/profile

java -version

nohup java -jar XXX.jar &
tail -f nohup.out

路径java路径问题导致javac不生效:

查看原先已安装的jdk

yum list installed | grep java

卸载原先已安装jdk

yum -y remove java-1.7.0-openjdk*  
yum -y remove java-1.8.0-openjdk*

查看yum库中的java安装包 :yum -y list java*安装需要的jdk版本的所有java程序:yum -y install java-1.8.0-openjdk*

重新输入 java -version 和 javac -version 可以正常显示

进程

ps aux

ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

a:显示当前终端下的所有进程信息,包括其他用户的进程。

u:使用以用户为主的格式输出进程信息。

x:显示当前用户在所有终端下的进程。

ps -elf

-e:显示系统内的所有进程信息。

-l:使用长(long)格式显示进程信息。

-f:使用完整的(full)格式显示进程信息。

top

以全屏交互式的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况,默认情况下每三秒刷新一次,其作用基本类似于Windows系统中的任务管理器。

pstree -aup

以树状图的方式展现进程之间的派生关系,显示效果比较直观。-a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示;-c:不使用精简标示法;-G:使用VT100终端机的列绘图字符;-h:列出树状图时,特别标明现在执行的程序;-H<程序识别码>:此参数的效果和指定”-h”参数类似,但特别标明指定的程序;-l:采用长列格式显示树状图;-n:用程序识别码排序。预设是以程序名称来排序;-p:显示程序识别码;-u:显示用户名称;

ps -ef |grep redis

grep命令是查找

中间的|是管道命令 是指ps命令与grep同时执行

这条命令的意思是显示有关redis有关的进程

 kill -9 4394
 ##查看进程数量
 ps -ef|grep 程序名称|grep -v grep | wc -l

jps

用于查看当前服务器中的java进程,类似于ps -ef | grep java,不同之处是它是由jdk提供的,可以输出JVM中运行的进程状态信息,因此它也可以用于jvm的监控和调优,参考https://my.oschina.net/feichexia/blog/196575,使用时需保证一正确配置java环境变量,常用参数有:-q:仅输出VM标识符,不包括classname,jar name,arguments in main method -m:输出main method的参数 -l:输出完全的包名,应用主类名,jar的完全路径名 -v:输出jvm参数 -V:输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件 -Joption:传递参数到vm,例如:-J-Xms512m

[hostid]:

[protocol:][[//]hostname][:port][/servername]

端口

##如果未安装lsof需要安装
yum install lsof

lsof -i

lsof -i:(端口号)

lsof -i:3306     (3306默认是mysql服务端的端口)

lsof -i:3690     (3690默认是svn服务端的端口) 

netstat  -anp  |grep

防火墙

service firewalld status ;查看防火墙状态
service firewalld stop:关闭防火墙
firewall-cmd --list-all 查看开放的端口

#
 设置开放的端口号
firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-port=80/tcp --permanent
# 重启防火墙
firewall-cmd --reload

VM 虚拟机指令

###扩容

##转换VDI
VBoxManage clonehd e:vboxUbuntu12.04Ubuntu1204-201302-disk1.vmdk  e:vboxUbuntu12.04Ubuntu1204-201310-disk1.vdi --format VDI
##扩容至16G
VBoxManage modifyhd E:vmotheratguigu-disk001.vdi --resize 16384

另一种:

Linux常用脚本补充mysql和yum离线安装等内容
image-20210911103259991

VM扩容后,需要在系统内部进行操作才可以使用扩容后的磁盘

把剩余空间创建新磁盘

==注意:具体系统名、文件名称不一样,一般为centos和root==

fdisk /dev/sda 创建磁盘

fdisk -l /dev/sda 查看磁盘

[root@zendlinux ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 4
First cylinder (1045-2088, default 1045): 
Using default value 1045
Last cylinder, +cylinders or +size{K,M,G} (1045-2088, default 2088): 
Using default value 2088

Command (m for help): t
Partition number (1-4): 3
Partition 3 does not exist yet!

Command (m for help): t
Partition number (1-4): 4
Hex code (type L to list codes): 8e
Changed system type of partition 4 to 8e (Linux LVM)

Command (m for help): wp 
The partition table has been altered!

Disk /dev/mapper/vg_zendlinux-lv_swap: 855 MB, 855638016 bytes
255 heads, 63 sectors/track, 104 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


[root@zendlinux ~]# fdisk -l /dev/sda

Disk /dev/sda: 17.2 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000dc501

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        1045     7875584   8e  Linux LVM
/dev/sda4            1045        2088     8383252   8e  Linux LVM

格式化新分区

格式化之前需要重启 init 6

[root@localhost ~]# mkfs.xfs /dev/sda4
meta-data=/dev/sda4              isize=512    agcount=4, agsize=1048576 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=4194304, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

调整 LVM 大小

先看看当前 Volume Group

[root@zendlinux ~]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               15.50 GiB
  PE Size               4.00 MiB
  Total PE              3969
  Alloc PE / Size       3959 / 15.46 GiB
  Free  PE / Size       10 / 40.00 MiB
  VG UUID               G1IckR-BqGy-po4L-uYVw-zLMc-S037-jS7SDP

名称为 vg_zendlinux,可调整大小(resizable),当前大小为15.50 GB。活动的 LVM 卷有

[root@zendlinux ~]# lvscan
  ACTIVE            '/dev/vg_zendlinux/lv_root' [6.71 GiB] inherit
  ACTIVE            '/dev/vg_zendlinux/lv_swap' [816.00 MiB] inherit

将分配过来的新磁盘空间创建为一个新的物理卷

[root@localhost ~]# pvcreate /dev/sda4
WARNING: xfs signature detected on /dev/sda4 at offset 0. Wipe it? [y/n]: y
  Wiping xfs signature on /dev/sda4.
  Physical volume "/dev/sda4" successfully created.
  

pvdisplay查看

  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               7.51 GiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              1922
  Free PE               10
  Allocated PE          1912
  PV UUID               YZNg77-ijrg-XxkR-VGGx-h455-aSbg-eZTV2C
   
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               centos
  PV Size               8.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              2047
  Free PE               0
  Allocated PE          2047
  PV UUID               vLuh32-4fPQ-1pjU-vYA5-62Rj-3WcM-wW828V
   
  "/dev/sda4" is a new physical volume of "16.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sda4
  VG Name               
  PV Size               16.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               xFwMIy-oHve-MOZJ-ulq7-iUzI-OaC6-fyrWK3

使用新的物理卷来扩展 LVM 的vg_zendlinux(centos)

[root@localhost ~]# vgextend centos /dev/sda4
  Volume group "centos" successfully extended

扩展 LVM 的逻辑卷 vg_zendlinux/lv_root(centos/root)

查看指令:lvdisplay

  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                G63387-gWCD-Nw3T-vQb6-W6zd-L4tY-x8VJuw
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2018-01-22 17:24:47 +0800
  LV Status              available
  # open                 2
  LV Size                820.00 MiB
  Current LE             205
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                aUgoLI-DXHj-rC2N-3XFN-gd5r-6sWb-cdBEW4
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2018-01-22 17:24:48 +0800
  LV Status              available
  # open                 1
  LV Size                14.66 GiB
  Current LE             3754
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

执行扩展 :lvextend

[root@localhost ~]# lvextend /dev/centos/root /dev/sda4
  Size of logical volume centos/root changed from 14.66 GiB (3754 extents) to 30.66 GiB (7849 extents).
  Logical volume centos/root successfully resized.

调整逻辑卷文件系统的大小

查看:df -h

[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 1.4G     0  1.4G   0% /dev
tmpfs                    1.5G     0  1.5G   0% /dev/shm
tmpfs                    1.5G  8.8M  1.4G   1% /run
tmpfs                    1.5G     0  1.5G   0% /sys/fs/cgroup
/dev/mapper/centos-root   15G  8.3G  6.5G  57% /  ##扩展前15G
/dev/sda1                497M  170M  328M  35% /boot
/dev/dm-3                 10G  470M  9.6G   5% /var/lib/docker/devicemapper/mnt/020c202f5b9d5ab0e0cb0856ddb55fa9ebcd36a6f70ad322bdf9e016b477200d
/dev/dm-4                 10G  133M  9.9G   2% /var/lib/docker/devicemapper/mnt/7982e525892b8bb5bb5d7aef3cb7a3058ef30e7489f41996a10eec2449480e44
/dev/dm-5                 10G  563M  9.5G   6% /var/lib/docker/devicemapper/mnt/5a3873407b088e4b66821eb5855d6f4af07b7b2496da52065362e315fd35bb95
shm                       64M     0   64M   0% /var/lib/docker/containers/acd6c0aa945b526d334adf1f2a6cee933a5e764cc00a9767316e55b1397d67f4/mounts/shm
shm                       64M     0   64M   0% /var/lib/docker/containers/f2217919275ab29f99c52db543472ec70338c4e935d8c3a022034296340de6fa/mounts/shm
tmpfs                    287M     0  287M   0% /run/user/0

==xfs的文件系统重新定义大小用如下命令:==

扩展命令:xfs_growfs /dev/centos/root(本命令只适用于xfs文件系统,可使用df -Th命令查看)

[root@localhost ~]# xfs_growfs /dev/centos/root
meta-data=/dev/mapper/centos-root isize=256    agcount=9, agsize=436992 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=3844096, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 3844096 to 8037376

[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 1.4G     0  1.4G   0% /dev
tmpfs                    1.5G     0  1.5G   0% /dev/shm
tmpfs                    1.5G  8.8M  1.4G   1% /run
tmpfs                    1.5G     0  1.5G   0% /sys/fs/cgroup
/dev/mapper/centos-root   31G  8.3G   23G  27% /  ##扩展前15G 目前31G 显示已扩展
/dev/sda1                497M  170M  328M  35% /boot
/dev/dm-3                 10G  470M  9.6G   5% /var/lib/docker/devicemapper/mnt/020c202f5b9d5ab0e0cb0856ddb55fa9ebcd36a6f70ad322bdf9e016b477200d
/dev/dm-4                 10G  133M  9.9G   2% /var/lib/docker/devicemapper/mnt/7982e525892b8bb5bb5d7aef3cb7a3058ef30e7489f41996a10eec2449480e44
/dev/dm-5                 10G  563M  9.5G   6% /var/lib/docker/devicemapper/mnt/5a3873407b088e4b66821eb5855d6f4af07b7b2496da52065362e315fd35bb95
shm                       64M     0   64M   0% /var/lib/docker/containers/acd6c0aa945b526d334adf1f2a6cee933a5e764cc00a9767316e55b1397d67f4/mounts/shm
shm                       64M     0   64M   0% /var/lib/docker/containers/f2217919275ab29f99c52db543472ec70338c4e935d8c3a022034296340de6fa/mounts/shm
tmpfs                    287M     0  287M   0% /run/user/0

另一种方法:之前第一次扩展时使用:

[root@zendlinux ~]# resize2fs /dev/vg_zendlinux/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_zendlinux/lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/vg_zendlinux/lv_root to 3854336 (4k) blocks.
The filesystem on /dev/vg_zendlinux/lv_root is now 3854336 blocks long.

==此处可能会报错:==

==resize2fs: Bad magic number in super-block while trying to open /dev/centos/root==

==解决方法:==

==检查 /dev/centos/root 文件系统==

# mount |grep root
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)

==重新进行df -h查看挂载点,发现大小已经更改.==

完成。看看效果:

[root@localhost ~]# lvscan
  ACTIVE            '/dev/centos/swap' [820.00 MiB] inherit
  ACTIVE            '/dev/centos/root' [30.66 GiB] inherit

屏幕翻页快捷键

shift+PgUp      向前翻看,一般翻13页左右。

shift+PgDown   向后翻看,一般翻13页左右。

解压缩

tar -zxvf XX.tar.gz 
unzip xxx.zip

拷贝/复制

cp -r A /B/

向另外服务器拷贝

#拷贝到node01节点
scp -r image-load.sh kubeadm-basic.images root@k8s-node01:/root/
#拷贝到node02节点
scp -r image-load.sh kubeadm-basic.images root@k8s-node02:/root/

删除

#删除空目录
rmdir MyDocuments
#删除非空目录
rm -rf MyDocuments/

时间问题

date 查看当前时间 安装时间同步插件yum install ntpdate 开启时间同步service ntpdate restart 设置时区:1)ntpdate time.nist.gov 与一个已知的时间服务器同步 rm -rf /etc/localtime 删除本地时间 ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 设置时区为上海

2)通过tzselect命令来修改时区 执行tzselect命令 –> 选择Asia –> 选择China –> 选择Beijing — 选择yes , 执行完tzselect命令选择时区后,时区并没有更改,将TZ=‘Asia/Shanghai’ ; export TZ 添加到/etc/profile文 件中去,然后退出并重新登陆即可。

虚拟机的内存不能忽视

nacos在启动集群是 从官网下载的启动脚本默认的启动参数为:

-Xms2g -Xmx2g -Xmn1g

因此如果启动3个实例 至少需要3*2g的内存,原先一直起不来的原因就是内存不够

测试环境可以考虑如下配置,启动正常:

-Xms258m -Xmx1g -Xmn512m

字符问题

$’r’: command not found

编辑文件

vi xxx.sh
:set fileformart=unix
:wq

Tomcat 启动

yum设置错误资源后处理

cd /etc/yum.repos.d
ls
#查看对应错误的资源文件
vi XXX
# 删除对应文件
rm -rf xxx
# 清理 yum仓库文件
yum clean all

yum详解

一般情况下 我们很多的安装是通过yum直接链接互联网进行远程资源库下载和安装,有时候有些系统是不具备网络环境的,这个时候就需要把一些资源下载下来进行离线安装。以git为例

yum -y install git
yumdownloader git

#
# 查找yum路径
whereis yum
yum: /usr/bin/yum /etc/yum /etc/yum.conf /usr/share/man/man8/yum.8
# 查看配置信息  cachedir就是存放路径
cat /etc/yum.conf
[root@k8s-node01 tools]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release


#
  This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
#  It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m

#
 PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
## 可以直接指定下载路径downloaddir
yumdownloader git --downloaddir=/var/tools/
# 进入/var/tools/ 路径执行rpm
rpm -ivh  *.rpm --force --nodeps
## 查看git版本 已正常显示
git --version
git version 1.8.3.1

mysql

mysql 离线安装 linux

下载地址:https://downloads.mysql.com/archives/community/

下载对应版本

Linux常用脚本补充mysql和yum离线安装等内容
image-20220214163153114

解压缩

# 创建mysql用户 正式环境尽量不要直接用root
# 查找mysql
cat /etc/group | grep mysql

cat /etc/passwd |grep mysql
# 添加用户
groupadd mysql

useradd -r -g mysql mysql


tar -xvf mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
# 将解压后的文件夹移动到 /usr/local/mysql
mv mysql-8.0.27-linux-glibc2.12-x86_64 /usr/local/mysql

#
创建DATA文件
mkdir /usr/local/mysql/data
#设置mysql用户的目录权限
chown -R mysql:mysql /usr/local/mysql

chmod -R 755 /usr/local/mysql

#
# 编译及初始化  务必记住初始化输出日志末尾的密码(数据库管理员临时密码:K+*rsZ_xK05-)
cd /usr/local/mysql/bin

./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

#
 ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
2022-02-15T01:12:37.902301Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
2022-02-15T01:12:37.902410Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.27) initializing of server in progress as process 47543
2022-02-15T01:12:37.912088Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-02-15T01:12:38.514486Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-02-15T01:12:39.497003Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1 is enabled for channel mysql_main
2022-02-15T01:12:39.497138Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1.1 is enabled for channel mysql_main
2022-02-15T01:12:39.595973Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: K+*rsZ_xK05-

配置

编辑配置文件my.cnf,添加配置如下

vim /etc/my.cnf

[mysqld]
datadir=/usr/local/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
lower_case_table_names=1
character_set_server=utf8
default-character-set=utf8

lower_case_table_names:是否区分大小写,1表示存储时表名为小写,操作时不区分大小写;0表示区分大小写;不能动态设置,修改后,必须重启才能生效:
character_set_server:设置数据库默认字符集,如果不设置默认为latin1
innodb_file_per_table:是否将每个表的数据单独存储,1表示单独存储;0表示关闭独立表空间,可以通过查看数据目录,查看文件结构的区别;

启动

/usr/local/mysql/support-files/mysql.server start

启动报错

#启动报错
Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'.

异常信息

2022-02-15T01:42:13.435758Z 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('1') and data dictionary ('0').
2022-02-15T01:42:13.435970Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2022-02-15T01:42:13.436181Z 0 [ERROR] [MY-010119] [Server] Aborting
2022-02-15T01:42:13.955250Z 0 [System] [MY-010910] [Server] /usr/local/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.27) MySQL Community Server - GPL.

解决

百度之后发现是8.0之后的坑,如果要设置lower_case_table_names,必须在初始化的时候设置,否则无法修改

(1)删除data下的文件

rm -rf /usr/local/mysql/data

(2)在配置文件中[mysqld]下添加lower_case_table_names = 1

[mysqld]
datadir=/usr/local/mysql/data
port=3307
max_connections=400
innodb_file_per_table=1
character_set_server=UTF8MB4
socket=/usr/local/mysql/data/mysql.sock # socket文件
symbolic-links=0
log-error=/usr/local/mysql/data/mysqld.log #错误日志
pid-file=/usr/local/mysql/data/mysqld.pid #pid文件
lower_case_table_names = 1

[mysql]
socket=/usr/local/mysql/data/mysql.sock
[mysqldump]
socket=/usr/local/mysql/data/mysql.sock

(3)执行初始化命令

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lower-case-table-names=1

(4)重新启动

#添加软连接
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 

ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
# 启动服务
service mysql restart
# 登录
mysql -uroot -p
# 修改密码
# 8.0以下
set password for root@localhost = password('123456');
# 8.0以上 我这边安装的是8。0.27(select version();) 
alter user 'root'@'localhost' identified by '123456';
# 查看lower_case_table_names
show variables like '%lower_case_table_names%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_table_names | 1     |
+------------------------+-------+
1 row in set (0.00 sec)

添加软连接,并重启mysql服务

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 

ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

service mysql restart
mysql -uroot -p
# 修改密码
# 8.0以下
set password for root@localhost = password('qiMAK22Hx%EmJ63i');
# 8.0以上 我这边安装的是8。0.27(select version();) 
alter user 'root'@'localhost' identified by 'qiMAK22Hx%EmJ63i';
show variables like '%lower_case_table_names%';

开放远程链接

use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;

查询端口

show global variables like ‘port’;

netstat -nltp | grep mysqld

netstat -nltp | grep mysqld
tcp6       0      0 :::33060                :::*                    LISTEN      67794/mysqld        
tcp6       0      0 :::3307                 :::*                    LISTEN      67794/mysqld

授权

# 授权目录所有者执行的权限
chmod u+x XXX.somefile

引用

#它的功能是为某一个文件或目录在另外一个位置建立一个同步的链接,类似Windows下的超级链接。  
#local下的linkwork 建立与/usr/local/linux/work的链接
ln -sf /usr/local/linux/work  /local/linkwork

#
 删除链接
rm -rf   symbolic_name   注意不是rm -rf   symbolic_name/ 
rm -rf   /local/linkwork


原文始发于微信公众号(云户):Linux常用脚本补充mysql和yum离线安装等内容

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/25953.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!