linux和k8s和数据库笔记

linux和k8s和数据库笔记,第1张

有关linux:

1、卸载某一个特定的挂在点。

umount /dev/datavg01 /data01

2、移掉lvm。

vgremove /dev/datavg01

3、拷贝数据。

scp -r /home/gaogetxt root@192168101:/opt 或rsync -av /root/rpmpkgs /tmp/backups/

4、显示系统盘符并以树状格式展开。

lsblk。

5、扫描新增设备。

echo "---" >/sys/class/scsi-host/hosto/scan

6、强行杀死mysql

kill -9 $(ps -ef | grep mysql)

7、将文件内容以每一行5个的形式展示出来。

cat test2txt | xargs -n 5

8、用cut去实现awk切割列的效果

cat/etc/passwd | cut -d : -f 2

9、sed、grsp、awk。之前已经说过了、具体看 从linux三剑客说起 这篇。

10、增加一个oracle用户让其属于oinstall组同时也隶属于dba组。useradd oracle -g oinstall -G dba

11、新建立一个组groupnew并将组id修改为255。

groupadd -g 255 groupnew

12、将本地/dev/hdb整盘中的数据备份到/dev/hdd上。

dd if=/dev/hdb of=/dev/hdd

13、查看服务器cpu个数。

cat /proc/cpuinfo | grep "physical id" | wc -l

14、查看服务器io状况并以每间隔1秒的速度输出5次。

iostat 1 5

15、查看服务器内存使用情况并以每间隔2秒的速度输出10次。

vmstat 2 10

16、将gaogetxt中的第一列db2找到并将db两个字符用ab替换。

cat gaogetxt |grep db2 | awk -F 2 '{print $1}' | tr db ab

17、将包名解压到指定目录。

tar -cxvf 包名 -C 指定的目录

18、linux中前后台任务切换。

ctrl+z 切换到后台、jobs显示id、fg + id 切换至前台。

19、杀掉top下stopped的进程。

ps -A -ostat,ppid,pid,cmd |grep -e '^[T]'

然后在进行kill

20、监控cpu状态。

mpstat

21、查看虚拟内存使用了多少。

swapon

22、每月1到10号4:45重启nginx。

crontab -u root -l 显示root当前的计划任务。

crontab -u root -e 后输入以下内容并保存退出。

45 4 1,10 systemctl start nginx

23、awk打印df -h 的第一列、第三列、最后一列。

df -h | awk '{print $1 " " $3 " " $NF}'

24、批量拉、打标签、推docker镜像的shell脚本。

#!/bin/bash

for image in 'docker images | grep 10171101:10000 | awk ' { print $1 ":" $2 }

do

version = 'echo $image | awk -F / ' { print $2 } '

docker tag $image 192168101/$version

docker push 192168101/$version

done

25、正则表达式匹配电话号码。

(0d{2}[) -]d{8}

26、编译安装三步骤。

/configure --prefix=安装目录

make

make install

有关kubernetes:

将kubernetes中pod的数据拷贝到物理宿主机上。

kubectl cp gyl-run/gyl-mysql-01020304: /opt/dockersh /opt

将kubernetes中物理宿主机上的数据拷贝到pod中。

kubectl cp /opt/dockersh gyl-run/gyl-mysql-01020304: /opt

检查当前用户有没有权限在k8s中创建资源权限。

kubectl auth can-i '' ''

检查当前用户有没有权限在k8s集群中创建namespace权限。

kubectl auth can-i create pods --all-namespaces

查看集群是否 健康 。

kubectl get cs

有关数据库:

查看 mysql 二进制日志格式。

show variables like ‘%binlog_format%’

查看所有二进制日志文件

show master logs

查看正在写入的二进制日志

show master status

格式化二进制显示为sql格式

mysqlbinlog --base64 --output=decode-rows -v --start-date="2019-01-25 00:00:00" --stop-date=“2019-01-26 17:30” master-bin000006

利用bin-log去还原数据

/usr/bin/mysqlbinlog --no-default /var/lib/mysql/mysql-bin00001 | usr/bin/mysql -u root -p pwd test

连接 postgresql

psql -U 用户名 -d 数据

数据库名 -h 主机地址 -p端口(默认端口为5432)

l 显示数据库列表

d 显示所有表

d 表名称 显示表结构

du 显示所有数据库用户

c 数据库名 连接数据库

q 退出pg窗口

pg备份:

pg_dump -U kong -d kong -f /opt/2019-01-26-pgsql

pg还原:

psql -d kong -U kong -f /opt/2019-01-26-pgsql

mongo 批量更新数据:把age大于20的class name修改为,设置multi为true

连接MYSQL:mysql-h主机地址-u用户名-p用户密码

Linux *** 作系统,是一种计算机 *** 作系统,中文读法大致一般为“哩内克斯”,但真正的读法应为“哩纳克斯”。Linux *** 作系统的内核的名字也是“Linux”。Linux *** 作系统也是自由软件和开放源代码发展中最著名的例子。

简单地说,Linux是一套免费使用和自由传播的类Unix *** 作系统,它主要用于基于Intelx86系列CPU的计算机上。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。

Linux的出现,最早开始于一位名叫LinusTorvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是想设计一个代替Minix的 *** 作系统,这个 *** 作系统可用于386、486或奔腾处理器的个人计算机上,并且具有Unix *** 作系统的全部功能,因而开始了Linux雏形的设计。

绝大多数基于Linux内核的的 *** 作系统使用了大量的GNU软件,包括了shell程序、工具、程序库、编译器及工具,还有许多其他程序,例如Emacs。

正因为如此,GNU计划的开创者理查德·马修·斯托曼博士提议将Linux *** 作系统改名为GNU/Linux。但有些人只把 *** 作系统叫做"Linux"。

linux系统如果是学习可以选用redhat或centos,特别是centos在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄弟,没区别的,有空可以再研究一下SUSE,有些公司也喜欢用,例如我公司 。。。。。

工具如下:

1、linux系统基础,这个不用说了,是基础中的基础,连这个都不会就别干了,参考书籍,可以看鸟哥linux基础篇,至少要掌握这书60%内容,没必须全部掌握,但基本命令总得会吧

2、网络服务,服务有很多种,每间公司都会用到不同的,但基础的服务肯定要掌握,如FTP, DNS,SAMBA, 邮件, 这几个大概学一下就行,LAMP和LNMP是必须要熟练,我所指的不是光光会搭建,而是要很熟悉里面的相当配置才行,因为公司最关键的绝对是WEB服务器,所以nginx和apache要熟悉,特别是nginx一定要很熟悉才行,至少有些公司还会用tomcat,这个也最好学一下。其实网络服务方面不用太担心,一般公司的环境都已经搭建好,就算有新服务器或让你整改,公司会有相应的文档让你参照来弄,不会让你乱来的,但至少相关的配置一定要学熟,而且肯定是编译安装多,那些模块要熟悉一下他的作用,特别是PHP那些模块。

这面2点只是基础,也是必要条件,不能说是工具,下以才是真正的要掌握的工具。

3、shell脚本和另一个脚本语言,shell是运维人员必须具备的,不懂这个连入职都不行,至少也要写出一些系统管理脚本,最简单也得写个监控CPU,内存比率的脚本吧,这是最最最基本了,别以为会写那些猜数字和计算什么数的,这些没什么作用,只作学习意义,写系统脚本才是最有意义,而另一个脚本语言是可选的,一般是3P,即python, perl和php,php就不需要考虑了,除非你要做开发,我个人建议学python会比较好,难实现自动化运维,perl是文本处理很强大,反正这两个学一个就行了。

4、sed和awk工具,必须要掌握,在掌握这两个工具同时,还要掌握正则表达式,这个就痛苦了,正则是最难学的表达式,但结合到sed和awk中会很强大,在处理文本内容和过滤WEB内容时十分有用,不过在学shell的同时一般会经常结合用到的,所以学第3点就会顺便学第4点。

5、文本处理命令,sort , tr , cut, paste, uniq, tee等,必学,也是结合第3点时一并学习的。

6、数据库,首选mysql,别问我为什么不学sqlserver和oracle,因为linux用得最多绝对是mysql,增删改查必学,特别要学熟查,其它方面可能不太需要,因为运维人员使用最多还是查,哪些优化和开发语句不会让你弄的。

7、防火墙,不学不行,防火墙也算是个难点,说难不难,说易不易,最重要弄懂规则,如果学过CCNA的朋友可能会比较好学,因为iptables也有NAT表,原理是一样的,而FILTER表用得最多,反正不学就肯定不合格。

8、监控工具,十分十分重要,我个人建议,最好学这3个,cacti,nagios,zibbix,企业用得最多应该是nagios和 zibbix,反正都学吧,但nagios会有点难,因为会涉及到用脚本写自动监控,那个地方很难。

9、集群和热备,这个很重要,肯定要懂的,但到了公司就不会让你去弄,因为新手基本不让你碰,集群工具有很多,最好学是LVS,这是必学,最好也学学nginx集群,反向代理,还有热备,这个就更多工具能实现了,像我公司是自己开发热备工具的,mysql热备也要学,就是主从复制,这个别告诉我容易,其实不容易的,要学懂整个流程一点也不容易,只照着做根本没意思。

10、数据备份,不学不行,工具有很多,但至少要把RAID的原理弄懂,特别是企业最常用的1+0或0+1,自己做实验也要弄出来,备份工具有很多,如tar, dump, rsync等,最好多了解一下。

算了,说到这10点已经够你受了,应该可以入门了,因为有些技术会比较难学,例如apache和nginx中还有些很重要的技术,如系统调优和服务优化,还有程序优化,这些在没接触工作前很难学习到的,所以先把这10点学了吧,估计要学熟至少3个月不止,就脚本那部分已经让你很吃力了,我建议是先学熟shell,等工作后再学另一门脚本语言,这样会比较好。

以上就是踏入linux运维工程师需要掌握的工具,其实还有很多工具要掌握的,但你在学习环境中是很难学到,最后我再提醒一下,这里所指的工具相当于技能,而不是像windows或ubuntu那些图形化工具,那些工具没用的,还有,学linux就别装图形界面,这样虚拟机就不用吃太多内存,而且绝对不建议在真机上装linux,根本达不到学习效果。

更多相关内容可参考资料>

可以使用find及local查找。

find:

1.命令格式:

find pathname -options [-print -exec -ok ]

2.命令功能:

用于在文件树种查找文件,并作出相应的处理

3.命令参数:

pathname: find命令所查找的目录路径。例如用来表示当前目录,用/来表示系统根目录。

-print: find命令将匹配的文件输出到标准输出。

-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。

-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

4.命令选项:

-name 按照文件名查找文件。

-perm 按照文件权限来查找文件。

-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。

-user 按照文件属主来查找文件。

-group 按照文件所属的组来查找文件。

-mtime -n +n 按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。

-nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。

-nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。

-newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。

-type 查找某一类型的文件,诸如:

b - 块设备文件。

d - 目录。

c - 字符设备文件。

p - 管道文件。

l - 符号链接文件。

f - 普通文件。

-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

-fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。

-mount:在查找文件时不跨越文件系统mount点。

-follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。

-cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。

另外,下面三个的区别:

-amin n 查找系统中最后N分钟访问的文件

-atime n 查找系统中最后n24小时访问的文件

-cmin n 查找系统中最后N分钟被改变文件状态的文件

-ctime n 查找系统中最后n24小时被改变文件状态的文件

-mmin n 查找系统中最后N分钟被改变文件数据的文件

-mtime n 查找系统中最后n24小时被改变文件数据的文件

locate:

1.命令格式:

Locate [选择参数] [样式]

2.命令功能:

locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或 刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)

locate指定用在搜寻符合条件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用特殊字元(如”” 或””等)来指定范本样式,如指定范本为kcpaner, locate会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列出该目录下包括 子目录在内的所有档案。

locate指令和find找寻档案的功能类似,但locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,在 执行loacte时直接找该索引,查询速度会较快,索引数据库一般是由 *** 作系统管理,但也可以直接下达update强迫系统立即修改索引数据库。

3.命令参数:

-e 将排除在寻找的范围之外。

-1 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料。

-f 将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案 放在资料库中。

-q 安静模式,不会显示任何错误讯息。

-n 至多显示 n个输出。

-r 使用正规运算式 做寻找的条件。

-o 指定资料库存的名称。

-d 指定资料库的路径

-h 显示辅助讯息

-V 显示程式的版本讯息

有oracle和mysql 但是在刘遄老师的《linux就该这么学》第18章 使用MariaDB数据库管理系统 中这样写道:

MYSQL数据库管理系统被Oracle公司收购后从开源换向到了封闭,导致包括红帽在内的许多Linux发行版选择了MariaDB。本章节将教会您使用mariaDB数据库管理工具来管理数据库,学习对数据表单的新建、搜索、更新、插入、删除等常用 *** 作。并且熟练掌握对数据库内用户的创建与授权,数据库的备份与恢复方法,不仅满足了RHCE考题要求,还能帮助您的运维工作。

所以建议学习下MariaDB,具体的 *** 作可参考下:>

以上就是关于linux和k8s和数据库笔记全部的内容,包括:linux和k8s和数据库笔记、linux系统mysql数据库怎么进入数据库(linux进入mysql数据库命令)、正在做it运维,Linux和数据库方面的有什么好建议等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10096699.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存