各应用常用运维命令整理 --未完待续

关键词:linux mysql redis mongodb zk kafka es nginx 常用命令

linux 日常常用运维命令

各应用常用运维命令整理 --未完待续_第1张图片
image.png

linux 具体用法查询工具: https://man.linuxde.net/


一、linux 系统运维命令整理

1、系统信息查询

命令 描述
arch | uname -m 显示机器的处理器架构
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件
hdparm -i DEVICE_NAME 罗列一个磁盘的架构特性
hdparm -tT DEVICE_NAME 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
lspci -tv 罗列 PCI 设备
lsusb -tv 显示 USB 设备
date 显示系统日期
cal 2007 显示2007年的日历表
date 041217002007.00 设置日期和时间 - 月日时分年.秒
clock -w 将时间修改保存到 BIOS

2、开关机

命令 描述
shutdown -h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销

3、文件和目录相关

命令 描述
cd /home 进入 '/ home' 目录'
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd [~] 进入家目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls -F 查看目录中的文件
ls *[0-9]* 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构(1)
lstree 示文件和目录由根目录开始的树形结构(2)
mkdir {dir1,dir2} 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/移动 一个目录
cp dir/* . 复制一个目录下的所有文件到当前工作目录
ln -s file1 lnk1 创建一个指向文件或目录的软链接(符号链接)
ln file1 lnk1 创建一个指向文件或目录的物理链接
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
iconv -l 列出已知的编码

4、文件搜索

命令 描述
find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录
find / -user user1 搜索属于用户 'user1' 的文件和目录
find /home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件
find / -name \*.rpm -exec chmod 755 '{}' ; 搜索以 '.rpm' 结尾的文件并定义其权限
whereis halt 显示一个二进制文件、源码或man的位置
which halt 显示一个二进制文件或可执行文件的完整路径

5、挂载一个文件系统,文件系统修复

命令 描述
mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在
umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出
fuser -km /mnt/hda2 当设备繁忙时强制卸载
umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用
mount /dev/fd0 /mnt/floppy 挂载一个软盘
mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom
mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件
mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统
mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享
badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块
fsck - t ext2|3|4 /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性
fsck.ext2|3|4 /dev/hda1 修复/检查hda1磁盘上ext2|3|4文件系统的完整性
dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性

6、磁盘空间

命令 描述
df -h 显示已经挂载的分区列表
ls -lSr|more 以尺寸大小排列文件和目录
du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间'
du -h -x [指定目录]--max-depth=1 查看哪个目录占用过高
du -sk * |sort -rn 以容量大小为依据依次显示文件和目录的大小

7、用户和组

命令 描述
groupadd group_name 创建一个新用户组
groupdel group_name 删除一个用户组
groupmod -n new_group_name old_group_name 重命名一个用户组
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户
useradd user1 创建一个新用户
userdel -r user1 删除一个用户 ( '-r' 排除主目录)
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性
passwd 修改口令
passwd user1 修改一个用户的口令 (只允许root执行)
chage -E 2020-12-31 user1 设置用户口令的失效期限
pwck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组
newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组

8、文件权限

命令 描述
ls -lh 显示权限
ls /tmp |pr -T5 -W$COLUMNS 将终端划分成5栏显示
chmod ugo+rwx directory1 设置目录的所主(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限
chown user1 file1 改变一个文件的属主属性
chown -R user1 directory1 改变一个目录的属主属性并同时改变改目录下所有文件的属性
chgrp group1 file1 or chown :group1 改变文件的群组
chown user1:group1 file1 改变一个文件的所有人和群组属性
find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件
chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限
chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的
chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件
chattr +a file1 只允许以追加方式读写文件
chattr +c file1 允许这个文件能被内核自动压缩/解压
chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件
chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接
chattr +s file1 允许一个文件被安全地删除
chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘
chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件
lsattr 显示特殊的属性

9、打包和压缩文件

命令 描述
bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件
bzip2 file1 压缩一个叫做 'file1' 的文件
gunzip file1.gz 解压一个叫做 'file1.gz'的文件
gzip file1 压缩一个叫做 'file1'的文件 -9 最大程度压缩
rar a file1.rar test_file 创建一个叫做 'file1.rar' 的压缩包
rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'
rar x file1.rar 或unrar x file1.rar 解压rar包
tar -cvf archive.tar file1 创建一个非压缩的 tarball
tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件
tar -tf archive.tar 显示一个包中的内容
tar -xvf archive.tar 释放一个包
tar -xvf archive.tar -C /tmp /tmp 将压缩包释放到 /tmp目录下
tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
tar -jxvf archive.tar.bz2 解压一个bzip2格式的压缩包
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -zxvf archive.tar.gz 解压一个gzip格式的压缩包
zip file1.zip file1 创建一个zip格式的压缩包
zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
nzip file1.zip 解压一个zip格式压缩包

10、RPM包

命令 描述
rpm -ivh package.rpm 安装一个rpm包
rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告
rpm -U package.rpm 更新一个rpm包但不改变其配置文件
rpm -F package.rpm 更新一个确定已经安装的rpm包
rpm -e package_name.rpm 删除一个rpm包
rpm -qa| grep httpd 显示所有名称中包含 "httpd" 字样的rpm包
rpm -qi package_name 获取一个已安装包的特殊信息
rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表
rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表
rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表
rpm -q package_name --whatprovides 显示一个rpm包所占的体积
rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本
rpm -q package_name --changelog 显示一个rpm包的修改历史
rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供
rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表
rpm --import /PATH/TO/RPM-GPG-KEY 导入公钥数字证书
rpm --checksig package.rpm 确认一个rpm包的完整性
rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性
rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间
rpm -Va 检查系统中所有已安装的rpm包- 小心使用
rpm -Vp package.rpm 确认一个rpm包还未安装
rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包

11、yum (Fedora,RedHat及类似系统)

命令 描述
yum install package_name 下载并安装一个rpm包
yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
yum update 更新当前系统中所有安装的rpm包
yum update package_name 更新一个rpm包
yum remove package_name 删除一个rpm包
yum list 列出当前系统中安装的所有包
yum search package_name 在rpm仓库中搜寻软件包
yum clean packages 清理rpm缓存删除下载的包
yum clean headers 删除所有头文件
yum clean all 删除所有缓存的包和头文件

**12、DEB包,APT工具(Debian,Ubuntu) **

命令 描述
dpkg -i package.deb 安装/更新一个 deb 包
dpkg -r package_name 从系统删除一个 deb 包
dpkg -l 显示系统中所有已经安装的 deb 包
dpkg -l |grep httpd 显示所有名称中包含 "httpd" 字样的deb包
dpkg -s package_name 获得已经安装在系统中一个特殊包的信息
dpkg -L package_name 显示系统中已经安装的一个deb包所提供的文件列表
dpkg --contents package.deb 显示尚未安装的一个包所提供的文件列表
dpkg -S /bin/ping 确认所给的文件由哪个deb包提供
apt-get install package_name 安装/更新一个 deb 包
apt-cdrom install package_name 从光盘安装/更新一个 deb 包
apt-get update 升级列表中的软件包
apt-get upgrade 升级所有已安装的软件
apt-get remove package_name 从系统删除一个deb包
apt-get check 确认依赖的软件仓库正确
apt-get clean 从下载的软件包中清理缓存
apt-cache search searched-package 返回包含所要搜索字符串的软件包名称

**13、查看文件内容 **

命令 描述
cat file1 从第一个字节开始正向查看文件的内容
tac file1 从最后一行开始反向查看一个文件的内容
more file1 查看一个长文件的内容
less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作
head -2 file1 查看一个文件的前两行
tail -2 file1 查看一个文件的最后两行
tail -f /var/log/messages 实时查看被添加到一个文件中的内容

**14、文本处理 **

命令 描述
cat file1|command( sed, grep, awk, grep, etc...) > (>>)result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件(追加)中
grep 'Aug' /var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug"
grep Aug -R /var/log/* 在目录 '/var/log' 及随后目录中搜索字符串"Aug"
sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2"
sed '/^$/d' example.txt 从example.txt文件中删除所有空白行
sed '/ *#/d; /^$/d' example.txt 从example.txt文件中删除所有注释和空白行
echo 'esempio' |tr '[:lower:]' '[:upper:]' 合并上下单元格内容
sed -e '1d' result.txt 从文件example.txt 中排除第一行
sed -n '/stringa1/p' 查看只包含词汇 "string1"的行
sed -e 's/ *$//' example.txt 删除每一行最后的空白字符
sed -e 's/stringa1//g' example.txt 从文档中只删除词汇 "string1" 并保留剩余全部
sed -n '1,5p;5q' example.txt 查看从第一行到第5行内容
sed -n '5p;5q' example.txt 查看第5行
sed -e 's/00*/0/g' example.txt 用单个零替换多个零
cat -n file1 标示文件的行数
cat example.txt|awk 'NR%2==1' 删除example.txt文件中的所有偶数行
echo a b c|awk '{print 3}' 查看一行的第一和第三栏
paste file1 file2 合并两个文件或两栏的内容
paste -d '+' file1 file2 合并两个文件或两栏的内容,中间用"+"区分
sort file1 file2 排序两个文件的内容
sort file1 file2|uniq 取出两个文件的并集(重复的行只保留一份)
sort file1 file2|uniq -u 删除交集,留下其他的行
sort file1 file2|uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)
comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容 ;-2 删除 'file2' 所包含的内容;-3 只删除两个文件共有的部分

15、 字符设置和文件格式转换

命令 描述
os2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX
unix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS
recode ..HTML < page.txt > page.html 将一个文本文件转换成html
recode -l |more 显示所有允许的转换格式

16、 初始化一个文件系统

命令 描述
mkfs -t ext2|3|4 /dev/hda1 在hda1分区创建一个文件系统--格式化
mkfs.ext# /dev/db1 在db1分区创建一个文件系统--格式化
fdformat -n /dev/fd0 格式化一个软盘
mkswap /dev/hda3 创建一个swap文件系统
swapon /dev/hda3 启用一个新的swap文件系统

17、 备份

命令 描述
dump -0aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份
dump -1aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份
restore -if /tmp/home0.bak 还原一个交互式备份
rsync -rogpav --delete /home /tmp 同步两边的目录
rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录
rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录
dd bs=1M if=/dev/hda|gzip|ssh user@ip_addr 'dd of=hda.gz' 通过ssh在远程主机上执行一次备份本地磁盘的操作
dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件
tar -Puf backup.tar /home/user 执行一次对 '/home/user' 目录的交互式备份操作
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容

18、 网络 - (以太网和WIFI无线)**

命令 描述
ifconfig 显示以太网卡的配置
ifup eth0 启用一个 'eth0' 网络设备
ifdown eth0 禁用一个 'eth0' 网络设备
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 给网卡添加ip
dhclient eth0 以dhcp模式启用 'eth0'
route -n show routing table 查看路由表
...

特别整理:文件‘三剑客’:gawk,sed,grep

  • grep(global search regular expression and print out the line) 文件过滤工具

    #语法 grep [OPTION] PATTENRN [FILE]
    #OPTION: 常用选项
     -i 忽略字符大小写
    -l 列出文件内容符合指定的范本样式的文件名称
     -L   列出文件内容不符合指定的范本样式的文件名称
     -v 反向匹配
     -o 仅显示匹配到的字符串本身
     -E 仅支持使用扩展正则表达式元字符
     -q 静默模式
     -R/-r 递归搜索文件
    #PATTENER
    基本正则表达式元字符:
      . :匹配任意单个字符
      []:
      [^]:
      [[:upper:]] :所有大写字母  [^[:upper:]]
      [[:lower:]] : 所有小写字母
      [[:alpha:]] : 所有字母
      [[:digit:]] : 所有数字
      [[:alnum:]] : 所有字母和数字
      [[:space:]] : 所有空白字符
      [[:punct:]] : 所有标点符号
      *:匹配其漆面的字符任意次
      .*:匹配任意长度的任意字符
      \?:匹配其前面的字符0次或1次
      \+:匹配其前面的字符至少1次
      \{m\}:精确次数
      \{m,n\}匹配前面字符至少m次,至多n次
      ^:行首锚定
      $:行尾锚定
      ^PATTENERN$:用于PATTERN来匹配匹配
      ^$:空白行   ^[[:space:]]*$:空行或包含空白符的行
      \<或\b:词首锚定 
      \>或\b: 词尾锚定
      分组及引用:\(PATTENN\)---基本正则表达式   \(xy\)*
       引用: \1 :模式从左侧起,第一个分组匹配的模式  \2  ...
    扩展正则表达式元字符:
      .:任意单个字符
      []:指定范围内的任意单个字符
      [^]:指定范围外的任意单个字符
      *:任意次数
      ?: 0次或1次
      +:匹配其前面的字符至少1次
      {m}:其前字符m次
      {m,n}:匹配前面字符至少m次,至多n次
      ^:行首锚定
      $:行尾锚定
      \<或\b:词首锚定 
      \>或\b: 词尾锚定
      ():分组
      a|b:a或b
    
  • sed行编辑器,行编辑器

#语法: sed [options] 'COMMAND' file(s)        #多个COMMADN 用“;”分割
       sed [options] -f scriptfile file(s)  #指定的script文件来处理输入的文本文件 -n 
       仅显示scritpt 处理后的结果
#[OPTION]
-n 仅显示scritpt 处理后的结果
-h 显示帮助
--version 显示版本信息
-i 编辑并保持到文件
-r 支持扩展表达式
#定界符
 不给地址范围:对全文进行处理
 NUM 指定行   /PATTERN/匹配指定行
 NUM1,NUM2 地址范围[NUM1,NUM2]
 NUM1,+NUM2
 /PART1/,/PART2/
 NUM,/PART/
 ~步进  1~2 1行开始步进为2
#COMMAND   '定界符.. 替换标记'

a\ 在当前行下面插入文本   eg: sed -i '/PATTERN/a\**' file 在匹配模式下面插入文本
i\ 在当前行上面插入文本   eg: sed -i '1i\i love xi' 1.sh  插入到首行
d 删除,选择的行         eg: sed -i '1d' file ;sed -i '1,2d;s/hello/nihao/g' 1.sh
D 删除第一行 
s 替换指定字符          eg: sed -i  's/PATTERN/**/'
c\替换行位单行或多行文本
! 后面的命令对所有没有选定的行发生作用
= 打印当前行号
#替换标记
g 表示行内全面替换。  
p 表示打印行。  
w 表示把行写入一个文件。  
x 表示互换模板块中的文本和缓冲区中的文本。  
y 表示把一个字符翻译为另外的字符(但是不用于正则表达式)
\1 子串匹配标记
& 已匹配字符串标记
#常用sed 命令
sed -n 'n;p' file  :显示偶数行
sed '1!G;h;$!d' file :逆向显示内容
sed '$!N;$!D' file 取出文件后2行
sed '$!d' file 取出文件最后一行
sed 'G' file :在每一行后加入空白行
sed '/^$/d;G' file :将多个空白行,合并成一个,没有的添加一个空白行
sed 'n;d' file :显示奇数行
sed -n '1!G;h;$p' file 逆向显示文件中每一行
  • gawk文本编辑器

    #语法    gawk [options] 'SCRIPT' var=value file(s)
         gawk [options] -f scriptfile var=value file(s)
    
    #OPTIONS
     -F fs  fs指定输入分隔符,fs可以是字符串或正则表达式,如-F:
     -f scripfile  从脚本文件中读取awk命令
      -v var=value   赋值一个用户定义变量,将外部变量传递给awk
      
    #SCRIPT  基本结构
    gawk 'BEGIN{ commands } pattern{ commands } END{ commands }' file
    第一步:执行BEGIN{ commands }语句块中的语句;
    第二步:从文件或标准输入(stdin)读取一行,然后执行pattern{ commands }语句块,它逐行扫描文件,从第一行到最后一行重复这个过程,直到文件全部被读取完毕。
    第三步:当读至输入流末尾时,执行END{ commands }语句块。
    
    #内建变量
     FS: input field seperator字段分隔符,默认是空格和制表符。
     OFS: output field seperator     eg cat /etc/passwd | gawk -v FS=':' -v OFS=':' '{print $2,$3}}'
     RS: input record seperatort   输入时的换行符
     ORS:输出时的换行符 
     NF: number of field 字段数量   {pirnt NF} 打印字段数,{print $NF}打印最后一个字段,print {$(NF-1)}打印倒数第二个字段
     NR:number of record:行数       gawk 'NR==1,NR==3 {}'
     FNR: file number of record: 各文件分别计数行数
     FILENAME:当前文件名
     ARGC:命令行参数的个数
     ARGV:数组,保存的时命令行所给定的各参数
     printf命令:
     将外部变量传给awk
     一、VAR=10000
      echo | awk -v VARIABLE=$VAR '{ print VARIABLE }'
     二、var1="aaa"
      var2="bbb"
      echo | awk '{ print v1,v2 }' v1=$var1 v2=$var2
     三、awk '{ print v1,v2 }' v1=$var1 v2=$var2 filename  变量来自于文件
      
    

二、mysql常用运维命令

1、基础运维命令

命令 描述
select @@version; 查询当前mysql的版本
show variables like 'port'; 查看mysql实例的端口
show variables like 'socket'; 查看实例的socket数据
show variables like 'datadir'; 查看实例的数据路径
show databases; 显示所有数据库名的命令
desc tablename; 显示表结构和列结构的命令
show processlist \G; 显示正在执行的线程
explain 查看语句的执行计划
show index from table_name 查看表的索引情况
select * from STATISTICS where table_name='XXX'\G 查看表的统计信息
select @@max_allowed_packet/1024/1024; 查询定义的packet大小,单位M
show master status; 查看master状态
show slave status\G; 查看slave状态
show master logs 查看所有的log文件
show binary logs 查看binlog日志列表
purge binary logs to 'mysql-bin3306.000003'; 删除mysql-bin3306.000003之前的日志
show warnings; 显示最近的警告详情
show variables \G; show variables like 'PAR_NAME'; 查看当前mysqld的所有参数,包括默认值
show grants for 'username'@'hostip' \G; 查看某一个用户的权限,请替换参数username 和 hostip
show create table tablename 查看某表的创建脚本
show variables like 'log_slave%' \G; 指定条件的参数设置查询,例如查询以log_slave开头的参数设置。
show variables like 'slow_query_log'; 查看是否开启了慢查询日志;ON代表开启。可以在线打开。set global slow_query_log = 1;
show variables like 'slow_query_log_file'; 查看慢查询日志的路径
show variables like 'long_query_time 查看慢查询定义的阈值,单位是秒。记录的查询是大于该值,不包括该值
show variables like 'log_queries_not_using_indexes'; 将没有使用索引的SQL语句记录到慢查询日志中
show variables like 'log_throttle_queries_not_using_indexes'; 集合上面的参数一起使用,限制每分钟内,在慢查询日志中,记录没有使用
show variables like "default%tmp%"; 查看创建的临时表的存储引擎类型
show variables like 'innodb_log_file_size'; 查询log文件大小
show variables like 'innodb_buffer_pool_size'; 查看缓冲池的大小,每次读写数据都是通过buffer pool
show variables like 'innodb_buffer_pool_instances 置多少个缓冲池。设置多个instance可将热点打散,提高并发性能(建议设置成cpu个数值)
show engine innodb status \G; 查看innodb的状态。(查看默认存储引擎的类型: SELECT @@default_storage_engine;)
set global innodb_buffer_pool_size=210241024*1024; 在线调整innodb_buffer_pool_size。MySQL 5.7之前的版本,修改该值,需要重启。
show variables like 'innodb_buffer_pool_dump_at_shutdown'; 在MySQL 5.6 以后,可以在停机的时候dump出buffer pool的数据,然后在启动的时候Load进buffer pool。该功能可以在MySQL启动时自动预热,无需人工干预
show variables like 'innodb_buffer_pool_dump_pct'; dumpd 百分比,是每个buffer pool文件,而不是整体
show variables like 'innodb_buffer_pool_load_at_startup'; 启动时加载dump的文件,恢复到buffer pool中
select * from x$innodb_lock_waits; 查看锁的信息,在数据库sys下执行
show variables like 'transaction_isolation'; 查看隔离级别
set transaction_isolation='read-committed'; 设置隔离级别
show variables like 'innodb_print_all_deadlocks'; 设置为ON,表示将死锁信息打印到err_log中
show variables like "%innodb_flush_log_at_timeout%"; master thread 每秒刷新redo的buffer到logfile
show variables like 'binlog_format'; 查看binlog的类型

2、DDL,DML,DCL,TCL

  • DDL(create,alter,drop,truncate,commit,rename)

    # CREATE
    - create databases               创建数据库
    - create event               创建事件
     - create function               创建函数
     - create function udf
     - create index                  创建索引
     - create logfile group      创建日志组
     - create procedure          创建存储过程
     - create server             
     - create table                  创建表
     - create tablespace         创建表空间
     - create trigger                创建触发器
     - create user                   创建用户
     - create view                   创建视图
     - show create database          
     - show create event
     - show create function
     - show create procedure
     - show create table
     - show create user
     
    # alter
     - alter databases           用于更改数据库的全局特性
     - alter event                   修改已存在的事件
     - alter function                修改函数
     - alter logfile group           修改日志组
     - alter procedure               修改存储过程
     - alter server
     - alter table                   修改表属性,增删改列,修改表明等
     - alter tablespace
     - alter user                    修改用户密码
     - alter view                    修改视图
    
    # drop
     - drop database
     - drop event
     - drop function
     - drop function udf
     - drop index
     - drop procedure
     - drop server
     - drop table
     - drop tablespace
     - drop trigger
     - drop user
     - drop view
    
    # truncate
     - truncate table
    
    # rename 
     - rename table
     - rename user
    
    
  • DML(select, insert, update, delete, merge, call, explain,lock table )

    # select
    - 语法
    SELECT
         [ALL | DISTINCT | DISTINCTROW ]
          [HIGH_PRIORITY]
          [MAX_STATEMENT_TIME = N]
          [STRAIGHT_JOIN]
          [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
          [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr ...]
        [FROM table_references
          [PARTITION partition_list]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [HAVING where_condition]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ...]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [PROCEDURE procedure_name(argument_list)]
        [INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
          | INTO DUMPFILE 'file_name'
          | INTO var_name [, var_name]]
        [FOR UPDATE | LOCK IN SHARE MODE]]
       eg:   where   select goods_id,shop_price from goods where goods_id=1;
             group   select cat_id.count(*) from goods group by  cat_id;
             having  select goods_name,(market_price-shop_price) as sheng from  goods            having sheng >200;
             order by    select select  col1,... from table_name order by col1,....;
             limit   select  col1,... from table_name  limit n,m (n为起始位置,m为截取的条数)
             where 子查询:内层的查询结果作为外层查询的条件,select .... from table_name where            (select .....) 
             from型子查询:select * from (select * from table_ame where ...) where....
             内连接查询(inner join .. on ..):交集 select a.col1,a.col2...,b.col1,b.col2...          from table_a a  inner  join table_b b  on a.colN=b.colN;eg:select           
              boy.hid,bname,girl.hid,gname from boy inner join gril on boy.hid=girl.hid;
            左连接查询(left join);以左表为基准即查询结果左表都会列出,右表按条件与左表进行匹配,若匹
            配则列出,未配置的为空:select a.col1,a.col2...,b.col1,b.col2... from table_a  
            left  join table_b  on a.colN=b.colN;
            右连接查询(right join): 类比左连接查询union查询:查询将多个查询合并成一个表----select 
            出的列数必须相同,列名称会使用第一条select列名称。使用uion时,完全相等的行,将会被合并,合并
            比较耗时,不进行合并使用union all select * from  a union select * from b;
    
    # insert
     insert into table_name (列名1,列名2,...)  value (值1,值2,....)[,(值1,值2,....),.....]; 
    # update
     update table_name set column1=** ,column2=** ,.... where  限定行的条件
    # delete
     delete from table_name where  限定条件;
    # explain
     explain SELECT statement | DELETE statement | INSERT statement | INSERT statement
      | REPLACE statement | UPDATE statement
    # lock table
     LOCK TABLES
     tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}
     [, tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}] 
    
  • DCL (grant,revoke)

    #grant 
     GRANT
        priv_type [(column_list)]
          [, priv_type [(column_list)]] ...
        ON [object_type] priv_level
        TO user_specification [, user_specification] ...
        [REQUIRE {NONE | tsl_option [[AND] tsl_option] ...}]
        [WITH {GRANT OPTION | resource_option} ...]
     GRANT PROXY ON user_specification
        TO user_specification [, user_specification] ...
        [WITH GRANT OPTION]
     eg: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT        OPTION;
    #revoke 
      REVOKE
        priv_type [(column_list)]
          [, priv_type [(column_list)]] ...
        ON [object_type] priv_level
        FROM user [, user] ...
      eg: revoke all privileges from test;
    
  • TCL (commit,rollback,savepoint,set transaction)事务控制语句,

    # commit 事务提交
    # rollback DML事务进行回滚
    # savepoint 设置回滚点
    # set transcation  设置事务隔离级别
    

3、mysqldump, mysqladmin,mysqlbinlog

  • mysqldump

    #语法 mysqldump  mysqldump [options] [db_name [tbl_name ...]]
    # 常用option
      * -u
      * -h 
      * -p
      * -P
      * -S 
      * --all-databases  , -A
      * --all-tablespaces  , -Y       导出全部表空间
      * --add-drop-database           每个数据库创建之前添加drop数据库语句
      * --add-drop-table
      * --add-locks                       在每个表导出之前增加LOCK TABLES并且之后UNLOCK  TABLE
      * --databases,  -B              导出库数据,包括创建库结构
      * --default-character-set=**        设置默认字符集,默认值为utf8
      * --events, -E                  导出时间
      * --flush-logs, -F             开始导出之前刷新日志,果打算同时导出和刷新日志应该使用--                                    lock-all-tables 或者--master-data 和--flush-logs
      * --flush-privileges                在导出mysql数据库之后,发出一条FLUSH  PRIVILEGES     
      * --ignore-table                    不导出指定表,指定忽略多个表时,需要重复多次
      * --lock-all-tables,  -x            提交请求锁定所有数据库中的所有表,以保证数据的一致性
      * --no-create-db,  -n               只导出数据,而不添加CREATE DATABASE 语句。
      * --no-create-info,  -t         只导出数据,而不添加CREATE TABLE 语句。
      * --no-data, -d                 不导出任何数据,只导出数据库表结构
      * --routines, -R                    导出存储过程以及自定义函数
      * --triggers                        导出触发器。该选项默认启用
      * --complete-insert,  -c            使用完整的insert语句(包含列名称)。这么做能提高插入效率
      * --compress, -C                    在客户端和服务器之间启用压缩传递所有信息
      * --force                           在导出过程中忽略出现的SQL错误
      * --log-error                       附加警告和错误信息到给定文件
      * --master-data=NUM             该选项将binlog的位置和文件名追加到输出文件中。如果为1,将会                                     输出CHANGE MASTER 命令;如果为2,输出的CHANGE  MASTER                                     命令前添加注释信息                   
      * --max_allowed_packet          服务器发送和接受的最大包长度
      * --xml, -X                         导出XML格式
    #常用备份命令
     导出整个数据库,包括库,表结构: mysqldump -u root -p  -A -B --master-data=2 > all.sql                           恢复: mysql -u root -p  source all.sql
      导出指定库:  mysqldump -u root -p -B --master-data=2 db1,db2... > back.sql                       恢复: mysql -u root dbname < back.sql   or  登录数据库  mysql> source back.sql
      导出数据库结构(不含数据): mysqldump -u root -p -d dbname > back.sql                             恢复: mysql -u root dbname <  back.sql   or  登录数据库  mysql> source back.sql
      导出指定库中的指定表(结构加数据): mysqldump -u root -p -B dbname  --table tablename > back.sql   恢复: mysql -u root dbname <  back.sql   or 登录数据库,use dbname mysql< source back.sql
                                      mysqldump -u root -p  dbname tablename > back.sql
      导出数据库中指定表的结构: mysqdump - u root -p -d dbname tablename > back.sql
      备份数据库排除指定表: mysqldump -uroot -p“password” --ignore-table=dbname.table1 --ignore-table=dbname.table2 dbname > /opt/backup.sql
      压缩备份:mysqldump -h主机ip -u用户名 -p密码(也可不输入) 数据库名   | gzip > 压缩后文件位置
      压缩恢复:gunzip < backupfile.sql.gz | mysql -u用户名 -p密码(也可不输入) 数据库名
    
  • mysqladmin

    # 是一个执行管理操作的客户端程序。它可以用来检查服务器的配置和当前状态、创建和删除数据库等
    # 语法: mysqladmin [选项] [参数]
     * 选项:-h -u -p
     * 参数:
          create databasename:创建一个新数据库;
      drop databasename:删除一个数据库及其所有表;
      extended-status:给出服务器的一个扩展状态消息;
      flush-hosts:清空所有缓存的主机;
      flush-logs:清空所有日志;
      flush-tables:清空所有表;
        flush-privileges:再次装载授权表(同reload);
        kill id,id,...:杀死mysql线程;
        password 新口令:将老密码改为新密码;
        ping:检查mysqld是否活着;
        processlist:显示服务其中活跃线程列表;
        reload:重载授权表;
        refresh:清空所有表并关闭和打开日志文件;
        shutdown:关掉服务器;
        status:给出服务器的简短状态消息;
        variables:打印出可用变量;
        version:得到服务器的版本信息
    
  • mysqlbinlog

    - 获取当前日志: mysql>show binary logs;
    - mysqlbinlog
      * 默认显示:mysqlbinlog mysql-bin.000001 
      * 获取特定数据库条目,-d选项指定数据库名称:mysqlbinlog -d test mysql-bin.000001 > test.sql
      * 禁止恢复过程产生日志-D选项(使用时必备选项):mysqlbinlog -D 
      * 输出调试信息:在完成处理给定的二进制日志文件之后,将检查文件打开和内存使用:mysqlbinlog --debug-check mysql-bin.000001
      * 跳过前N个条目-o NUM: mysqlbinlog -o 10 mysql-bin.000001
      * 从一个特定位置提取条目-j NUM:mysqlbinlog -j 12580 mysql-bin.000001 >12580.sql
      * 将条目起始到一个特定的位置--start-position --stop-position:
      * 刷新日志以清除Binlog输出mysql> flush logs;
      * 在输出中只显示sql语句-s|--short-form选项:msyqlbinlog -s
      * 查看特定起止时间的条目--start-datetime --stop-datetime "2020-02-13 14:00:00"
      * 从远程服务器获取二进制日志-R:mysqlbinlog -R -h *** -p mysql-bin.000001
    
  • mysqldumpslow

    # 慢查询设置
        cat my.cnf
        long_query_time=30
        slow_query_log=1
        log_output=table,file  #日志输出会写表,也会写日志文件
        slow_query_log_file=/data/mysql/slow.log
      * 不重启设置慢查询
          mysql> set global log_output='TABLE'; -- 输出到表
          set global general_log = on; -- 打开所有命令执行记录功能general_log, 所有语句: 成功和未成功的.
          set global slow_query_log = on; -- 打开慢查询sql记录slow_log
          set global long_query_time=30; -- 慢查询时间限制(秒)
          set global log_queries_not_using_indexes=ON; -- 记录未使用索引的sql语句
       * 查询:show global status like '%Slow_queries%';
    # mysqldumpslow慢查询分析
    #语法
      mysqldumpslow [options] [logfile]
    # options
     -s       按照哪种方式排序
      t 按照查询时间或平均查询时间,默认排序方式
      l 按照lock time or 平均lock time 查询
      r 按照rows sent or 平均 rows sent排序
      c 按照计数排序
      
     c        访问计数
     l        锁定时间
     r        返回记录
     al       平均锁定时间
     ar       平均访问记录数
     at       平均查询时间
     -t   NUM 返回NUM条数据
     -g       跟正在匹配模式,大小写不敏感
     
    # 示例
    返回记录最多的20条sql:mysqldumpslow -s r -t 20 slow.log
    
    * 得到平均访问次数最多的20条sql:mysqldumpslow -s ar -t 20 slow.log
    * 得到平均访问次数最多,并且里面含有mq字符的20条sql:mysqldumpslow -s ar -t 20 -g "mq" slow.log
    

三、redis常用运维命令

命令 描述
登录 redis-cli -h ** -p ** -a PASSWD
检查key是否存在 EXISTS key
检索某关键字 KEYS *4
返回一个key所影响的vsl的类型 TYPE key
设置一个建的值 SET key value
获取一个键的值 GET key
删除键值对 DEL key
同事获取多个键 mget key1 key2
设置一个hash HMSET key valueKey value -->
获取hash 所有key,value HGETALL key
获取hash所有key HKEYS key
获取hash所有key的value HVALS key
给一个hash的某个键值对赋值 HSET key valueKey value
当hash中valueKey不存在时赋值 HSETNX key valueKey value
给list赋值 LPUSH listName value
按照索引取值 LINDEX listName 1
查找key keys[? * [] ]
? 匹配一个字符
* 匹配任意个字符
[] 匹配括号内的人一个字符
dbsize 查询键总数
expire key seconds 当超过过期时间,会自动删除,key在seconds秒后过期
expireat key timestamp 键在秒级时间戳timestamp后过期
pexpire key milliseconds 当超过过期时间,会自动删除,key在milliseconds毫秒后过期
pexpireat key milliseconds-timestamp key 在毫秒级时间戳timestamp后过期
ttl 可以查看键hello的剩余过期时间,单位:秒(>0剩余过期时间;-1没设置过期时间;-2键不存在)
键重命名 rename key newkey
随机返回一个键 randomkey
迁移键 move key db
dump+restore
migrate
渐进式遍历键 scan
切换数据库 select dbIndex
默认16个数据库:0-15,进入redis后默认是0库。不建议使用多个数据库
用于清除数据库,flushdb只清除当前数据库,flushall清除所有数据库。 flushdb / flushall
更详细的参考 https://blog.csdn.net/weixin_41850404/article/details/84634508
https://segmentfault.com/a/1190000010999677
https://www.jianshu.com/writer#/notebooks/42187693/notes/61110077

四、MongoDB常用命令

命令 描述 示例
mongo --port 本地登录
use Db_Name 创建数据库 or切换库 use baby
db.dropDatabase() 使用当前库,删除库
db 查看所有数据
db.getName() 查看当前正在使用的数据库
show collections 查看当前数据库下有哪些集合
db.createCollection("集合名称")
db.集合名称.insert(文档)
当前库创建集合 db.student.insert(
{name:”tom”,age:18,gender:1,
address:”北 京”,isDelete:0})
db.集合名.drop() 删除集合
db.集合名.insert(文档)
db.集合名.save(文档)
文档插入
db.collection.update( , , { upsert:, multi:, writeConcern: } ) 更新文档update()方法 query : update的查询条件,类似sql update查询内where后面的。 update : update的对象和一些更新的操作符(如inc...)等,也可以理解为sql update查询内set后面的 upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。 multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。 writeConcern :可选,抛出异常的级别
db.collection.save( , { writeConcern: } ) 更新文档save()方法 document : 文档数据。 writeConcern :可选,抛出异常的级别。
db.collection.remove( , { justOne: , writeConcern: } ) 删除文档 query :(可选)删除的文档的条件。 justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。 writeConcern :(可选)抛出异常的级别
remove() 方法 并不会真正释放空间。需要继续执行 db.repairDatabase() 来回收磁盘空间。
db.collection.find(query, projection) 查询文档 query :可选,使用查询操作符指定查询条件 projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
eg:db.col.find({key1:value1, key2:value2}).pretty()
大于:db.col.find({key:{gte
小于:lte
与:db.col.find({条件1,条件2,...})
或:db.col.find({$or:[条件1,条件2...]})

五、postgresql常用命令

psql

命令 描述 示例
psql -U pg_user -h pg_host
-p pg_port -d database
登录数据库
增删改查命令跟mysql SQL命令一样
\l 查看系统中现存的数据库
\q 退出客户端程序
\c 从一个数据库切换到另一个数据库
\dt 查看当前库的表
\d 查看表结构
\di 查看索引
\dn 查看表
\h 查看sql命令的解释 \h select ...
? 查看psql命令列表
\d tb_name 列出指定表的表结构
\du 列出所有的用户
\e 打开文本编辑器
\conninfo 列出当前数据库和连接的信息

pgpool

命令 描述 示例
psql -h -p pgpool_port 连接pgpool
show pool_nodes 查看postgresql各节点状态

2、psql命令特别整理

(1)pg_dump & pg_dumpall

一、pg_dump:用于备份postgresql数据库,它可以在数据库运行时使用,pg_dump不会阻塞其他的用户访问数据库
# 语法:
  pg_dump [连接选项] [命令选项] [库名]

#命令选项
 -a:只导出数据,不导出表结构
 -c:输出在创建数据库创建命令之前先删除该数据库对象的命令
 -C:以一条创建该数据库本身并且与这个数据库联接等命令开头进行输出
 -d:将数据输出为的INSERT命令 (而不是 COPY). 这样会导致恢复非常缓慢.但却令归档更容易移植到其它 SQL 数据库.
 -f file --file=file 把输出发往指定的文件
 -s --schema-only 只输出表纲要(定义),不输出数据
 -t table --table=table 只输出表 table的数据.
 -Z 0..9 --compress=0..9 声明在那些支持压缩的格式中使用的压缩级别.
 
示例:pg_dump -h pg_host -U pg_user -p pg_port -f filename  db_name 
二、pg_dumpall
# 语法
  pg_dumpall [连接选项] [命令选项][库名]
 
# 命令选项
  -a:只导出数据,不导出表结构
  -c:在转储结果中包含哪些重建之前清理数据库对象的sql命令
  -f filename:发送输出到指定的文件
  -g --globals-only:只转储全局对象(角色和表空间),而不转储数据库
  -r --roles-only:只转储角色,不转储数据库或表空间
  -s:只输出对象定义(模式),不输出数据
  -t:只转储表空间,不转储数据库或角色
  

(2) pg_restore

# 从pg_dump创建的备份中恢复数据库
# 语法
  pg_restore [选项] [备份文件]
 
# 选项
  -d 指定恢复的库名
  -f 用来恢复的文件
  -a 只恢复数据,不恢复表结构
  -c 在重新创建数据库对象之前清除(删除)它们。(除非使用了——if-exists,否则可能会这样如果目标中没有任何对象,则生成一些无害的错误消息数据库)。备份中有表结构信息,没有使用-a选项只备份数据
  -C 在还原之前创建数据库。如果—c也被指定,删除并重新创建
  -t 指定恢复的表
  
 示例:
 pg_restore -h pg_host -U pg_user -p pg_port -d db_name backup.sql
 
 https://www.jianshu.com/p/dacf1f765ab6 备份恢复方案

(3)psql

# psql
  postgresql 交互式终端
# 语法
  psql [选项]  
# 常用参数
  -h pg_host
  -U pg_user
  -p pg_port
  -d login dbname
  -c shell端运行sql语句
  -f fielname 从脚本中执行sql语句
  -s 单步执行

(4) pg_ctl

# pg_ctl 
  启动,停止和重启PostgreSQL
# 语法
    pg_ctl start [-w] [-s] [-D datadir] [-l filename] [-o options] [-p path]
    pg_ctl stop [-W] [-s] [-D datadir] [-m s[mart] | f[ast] | i[mmediate] ]
    pg_ctl restart [-w] [-s] [-D datadir] [-m s[mart] | f[ast] | i[mmediate] ] [-o options]
    pg_ctl reload [-s] [-D datadir]
    pg_ctl status [-D datadir]
    pg_ctl kill [signal_name] [process_id]
  
 restart 实际上是先执行一个停止,然后紧跟一个启动。它允许变换postmaster命令行的选项
 reload 模式简单地给postmaster发送一个 SIGHUP 信号,导致它重新读取她的配置文件 (postgresql.conf,pg_hba.conf 等等) 这样就允许修改配置文件选项而不用完全重启系统来使之生效
 status 模式监查一个服务器是否在指定的数据目录运行, 如果是,那么显示其 PID 和调用它的命令行选项
# 选项
  -w 等待启动或者关闭完成,在60s后超时
  -s 只打印错误,而不打印提示性信息
  -l filename 把服务器日志输出附加在 filename 文件上。 如果该文件不存在,那么创建它,目录需手动创建
  -o options声明要直接传递给postmaster 的选项。参数通常都用单或者双引号包围以保证它们作为一个整体传递。
  -D 指定数据目录位置
  -m 声明关闭模式。mode 可以是smart, fast, 或者 immediate,或者是这三个之一的第一个字母
  -W 不等待启动或者停止的完成。这是启动和重起的缺省。

(5) pg_controldata

(6) pg_archive

(7) pg_config

(8) pg_receivewal

(9) pgawk

(10) pg_isready

(11) pg_recvlogical

(12) pg_basebackup

(13) pg_md5

(14) pgrep

(15) pgbench

(16) pgpool

(17) pg_resetwal

六、es常用命令

描述 命令
查看es集群统计信息 curl -XGET 'http://localhost:9200/_cluster/stats?pretty'
查看所有索引 curl 'localhost:9200/_cat/indices?v'
查看集群的节点列表 curl 'localhost:9200/_cat/nodes?v'
检查集群状态 curl 'localhost:9200/_cat/health?v'
获取数据 curl -XGET 'localhost:9200/customer/external/1?pretty' #获取customer索引下类型为external,id为1的数据,pretty参数表示返回结果格式
创建索引 curl -XPUT 'localhost:9200/customer?pretty'
删除索引 curl -XGET 'localhost:9200/customer/external/1?pretty'
插入数据 curl -XPUT 'localhost:9200/customer/external/1?pretty' d
查询数据 curl 'localhost:9200/bank/_search?q=*&pretty'
#返回所有bank中的索引数据,其中q=*
https://blog.csdn.net/zhuoshengda/article/details/90378466

七、rabbitmq常用命令

命令 描述 示例
rabbitmq-plugins list 查看插件打开情况
rabbitmq-plugins disable rabbitmq_managemen 关闭监控管理器
rabbitmq-plugins enable rabbitmq_management 启动web管理器
service rabbitmq-server start|stop|restart 启动服务
rabbitmq-service start|stop 启动rabbitmq
rabbitmqctl stop_app|start_app 关闭应用
rabbitmqctl list_queues 查看所有的队列
rabbitmqctl reset 清楚所有的队列
rabbitmqctl list_users 查看用户
rabbitmqctl status 查看状态
rabbitmqctl cluster_status 查看集群状态
rabbitmqctl add_user admin admin 新增用户
rabbitmqctl delete_user admin 删除用户
rabbitmqctl change_password admin admin123 修改密码
rabbitmqctl list_users 查看用户列表
rabbitmqctl set_user_tags 设置用户属于的角色 rabbitmqctl set_user_tags admin administrator monitoring policymaker management
rabbitmqctl set_permissions 设置用户权限 rabbitmqctl set_permissions -p VHostPath admin ConfP WriteP ReadP
rabbitmqctl list_permissions 查询所有权限
rabbitmqctl list_user_permissions admin 指定用户权限
rabbitmqctl clear_permissions 清除用户权限

2、特别整理

  • rabbitmqctl

八、zookeeper 常用命令

命令 描述 示例
zkCli.sh -server ip:port 连接zk zkCli.sh -server 127.0.0.1:2181
zkServer.sh start|stop|restart|staus 启动
连接后命令 help
ls / 查看当前 ZooKeeper 中所包含的内容
ls2 / 查看当前节点数据并能看到更新次数等数据
create /zk "test" 创建一个新的 znode节点“ zk ”以及与它关联的字符串获取文件内容
get /zk 获取/zk节点文件内容
echo stat|nc 127.0.0.1 2181 来查看哪个节点被选择作为follower或者leader
echo ruok|nc 127.0.0.1 2181 测试是否启动了该Server,若回复imok表示已经启动。
echo dump|nc 127.0.0.1 2181 列出未经处理的会话和临时节点
echo kill|nc 127.0.0.1 2181 关掉server
echo conf|nc 127.0.0.1 2181 输出相关服务配置的详细信息
echo cons|nc 127.0.0.1 2181 列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。
echo envi|nc 127.0.0.1 2181 ,输出关于服务环境的详细信息(区别于 conf 命令)
echo reqs|nc 127.0.0.1 2181 列出未经处理的请求
echo wchs|nc 127.0.0.1 2181 列出服务器watch的详细信息
echo wchc|nc 127.0.0.1 2181 通过session列出服务器watch的详细信息,它的输出是一个与 watch 相关的会话的列表。
echo wchp|nc 127.0.0.1 2181 ,通过路径列出服务器 watch 的详细信息。它输出一个与 session 相关的路径。

九、kafka常用命令

描述
./kafka-server-start.sh ../config/server.properties &
创建topic ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic tes
查看kafka的topic ./kafka-topics.sh --zookeeper master:2181 --list
查看kafka某个topic下partition信息 ./kafka-topics.sh --describe --zookeeper master:2181 --topic test-topic
查看kafka的指定topic ./kafka-topics.sh --zookeeper master:2181 --describe --topic yq20171220
控制台向kafka生产数据 ./kafka-console-producer.sh --broker-list master:9092 --topic jason_20180519
控制台消费kafka的数据 ./kafka-console-consumer.sh --zookeeper storm1:2181 --topic jason_20180519 --from-beginning
查看topic下某分区偏移量的最小值 ./kafka-run-class.sh kafka.tools.GetOffsetShell --topic test-topic --time -1 --broker-list master:9092 --partitions 0
增加topic的partition ./kafka-topics.sh --alter --topic jason_20180519 --zookeeper 10.200.10.24:2181,10.200.10.26:2181,10.200.10.29:2181 --partitions 5
删除topic只会删除zookeeper中的元数据,消息文件须手动删除 ./kafka-run-class.sh kafka.admin.DeleteTopicCommand --zookeeper master:2181 --topic yq20171220
彻底删除topic rmr /brokers/topics/【topic name】

十、

你可能感兴趣的:(各应用常用运维命令整理 --未完待续)