检查域名解析
dig安装123apt-get install dnsutilsyum install bind-utils
查询1dig auth.vipthink.cn @114.114.114.114
nslookup检查域名A记录123nslookup baidu.com 114.114.114.114nslookup -type=a qq.com 114.114.114.114nslookup baidu.com
检查域名NS记录123nslookup> set type=ns> zahui.fan 114.114.114.114
检查域名CNAME记录123nslookup> set type=cname> zahui.fan 114.114.114.114
Bash检查当前用户是不是root
1234if [ $(id -u) != "0" ]; then echo "Error: You must be root to run this script" exit 1fi
Nginx Status监控
1234567server { listen 8080; access_log off; location /nginx_status { stub_status on; }
这个时候请求,返回
1234567curl localhost:8080/nginx_statusActive connections: 1 server accepts handled requests 7 7 6 Reading: 0 Writing: 1 Waiting: 0
MySQL Binlog 常用操作记录
本文记录一些日常使用MySQL binlog的命令记录,方便日后查询。
开启binlog日志(在[mysqld]下修改或添加如下配置)123server-id=1log-bin=mysql-binbinlog_format=MIXED
binlog日志模式12345678910Mysql复制主要有三种方式:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR)。对应的,binlog的格式也有三种:STATEMENT,ROW,MIXED。1、STATEMENT模式(SBR)每一条会修改数据的sql语句会记录到binlog中。优点是并不需要记录每一条sql语句和每一行的数据变化,减少了binlog日志量,节约IO,提高性能。缺点是在某些情况下会导致master-slave中的数据不一致(如sleep()函数, last_insert_id(),以及user-defined functions(udf)等会出现问题 ...
Mysqldump备份数据库
mysqldump是MySQL数据库自带的导出sql工具,可以导出原生sql,方便后续使用。
创建备份用户1234567CREATE USER 'backup'@'%' IDENTIFIED BY 'password';/* Grant all privileges on *.* to 'backup'@'%' with grant option; */Grant select,lock tables,show view,trigger,event on database.* to 'backup'@'%';ALTER USER 'backup'@'%' IDENTIFIED BY 'password';
备份格式1mysqldump -h主机名 -P端口 -u用户名 -p密码 --databases 数据库名 > 文件名.sql
备份压缩mysql导出的文件是字节流,可以通过管 ...
Kubernetes中使用Prometheus对集群节点做监控
正常情况下使用Prometheus对机器做监控,比如监控CPU、内存、磁盘等信息, 都是在机器上安装一个node exporter, 然后将metrics接入到Prometheus中。在k8s环境下, 我们可以使用k8s来管理, 实现自动化监控。
node exporter是针对主机节点的, 需要在每台node节点上安装, 那么daemonset控制器是最合理的选择。 网络使用Host Network模式, 在主机上直接暴露一个端口。
部署node exporter使用yaml
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263apiVersion: apps/v1kind: DaemonSetmetadata: name: node-exporter namespace: monitor labels: name: node-exporterspec: selector: matc ...
Linux内核参数
修改内核参数临时修改修改/proc目录1echo 2048 > /proc/sys/net/core/somaxconn
/proc/sys/ 目录是 Linux 内核启动后生成的伪目录,其目录下的net文件夹中存放了当前系统中生效的所有内核参数、目录树结构与参数的完整名称相关,如 net.ipv4.tcp_tw_recycle,它对应的文件是 /proc/sys/net/ipv4/tcp_tw_recycle,文件的内容就是参数值。
sysctl命令修改1sysctl -w net.ipv4.tcp_tw_recycle="0"
永久修改123vim /etc/sysctl.confnet.core.somaxconn = 2048sysctl -p
查看内核参数查看/proc/目录1cat /proc/sys/net/ipv4/tcp_tw_recycle
sysctl查看12sysctl -a ...
编译安装PHP7.2
本文记录一下在Linux下编译安装PHP过程,没有特殊需求的话,使用yum源安装更方便。
准备工作准备源码包12wget https://www.php.net/distributions/php-7.2.28.tar.bz2mkdir -p /data/exec
创建用户1useradd www -s '/sbin/nologin'
安装编译依赖12345apt install -y libxml2 libxml2-dev libcurl4-openssl-dev libfreetype6-dev libjpeg-dev libicu-dev libxslt1-dev opensslyum install -y libxml2-devel libcurl-devel libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel libicu-devel libxslt-devel# ldap扩展需要安装libldap-dev这个包
编译PHP7.212345678910111213./ ...
Linux查看系统硬件信息
CPU查看cpu型号
1cat /proc/cpuinfo |grep "model name"
查看CPU核心数
1cat /proc/cpuinfo |grep "cpu cores"
查看cpu支不支持aes(结果有aes即为支持)
1grep -m1 -o aes /proc/cpuinfo
内存查看内存大小
1cat /proc/meminfo |grep MemTotal
查看内存型号,插槽
1dmidecode -t memory | grep "Size:"
硬盘查看硬盘
1fdisk -l |grep Disk
查看挂载、分区
1sudo lsblk
查看软raid状态
1cat /proc/mdstat
PCI设备查看pci设备
1lspci -tv
网卡查看网卡crc校验错误数:
1ethtool -S ens1f1 | grep rx_crc_errors:
如果数量一致增大,就是有问题
dmesg 可以查看网卡down 和up的情况
优雅地给正在运行的MySQL添加从库
前言之前写过一篇MySQL主从同步配置给MySQL配置从库,在主库在使用的情况下,需要将主库进行禁止写入操作,然后再导出导入,如果库比较大的话, 会对业务造成一定的影响。这篇文章主要介绍如何不停机进行添加从库。
主库操作开启binlog123[mysqld]log_bin=mysql-binserver-id=1
这里注意server-id主从不能一样, 配置完成重启mysql
创建用于同步的用户账号登陆数据库
1mysql -hlocalhost -uroot -ppassword
创建用户并授权
1CREATE USER 'repl'@'%' IDENTIFIED BY '123456';
授权
12GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';flush privileges;
导出数据库sql1mysqldump -uroot -ppassword -hlocalhost -P3306 --master-data=2 --sin ...