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 ...
二进制安装MySQL5.7
如有特殊需求需要编译安装MySQL请看编译安装MySQL5.7
准备工作卸载系统中的MySQL或mariadb123rpm -qa | grep mysqlrpm -qa | grep mariadbyum remove xxx
下载二进制安装包MySQL官网
选择操作系统为 Linux-Generic
选择下载文件名为:mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz
当然也可以用wget直接下载
1wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz
创建用户1useradd -M -s /sbin/nologin -r mysql
安装依赖包为了避免执行mysql命令报错ibncurses.so.5或者libnuma.so.1找不到
CentOSUbuntu1yum install -y ncurses-devel numactl-libs1apt install -y libncurses5
设置安装路 ...
使用keepalived完成LVS高可用
有了keepalived可以不用执行ipvsadm了, 并且可以实现自动剔除节点,还可以两台Director做高可用。
手动配置LVS请看内核级负载均衡 LVS DR模式 部署记录
另见:使用Keepalived来实现Nginx高可用
规划:
机器
IP
VIP
10.0.0.8
director
10.0.0.40
realserver1
10.0.0.42
realserver2
10.0.0.43
网卡interface
eth0
单台Director Serverkeepalived 配置:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950vrrp_sync_group GOP { group { VI_PRI_CONNECT VI_PRI_AUTH }}vrrp_instance VI_PRI_CONNECT { ...
Containerd的管理工具
命令对比
命令
docker
crictl(推荐)
ctr
查看容器列表
docker ps
crictl ps
ctr -n k8s.io c ls
查看容器详情
docker inspect
crictl inspect
ctr -n k8s.io c info
查看容器日志
docker logs
crictl logs
无
容器内执行命令
docker exec
crictl exec
无
挂载容器
docker attach
crictl attach
无
容器资源使用
docker stats
crictl stats
无
创建容器
docker create
crictl create
ctr -n k8s.io c create
启动容器
docker start
crictl start
ctr -n k8s.io run
停止容器
docker stop
crictl stop
无
删除容器
docker rm
crictl rm
ctr -n k8s.io c del
查看镜像列表
docker images
cr ...
Iptables进行持久化配置,重启不丢失
操作文档针对ubuntu20和centos系统,其他系统类似。iptables-save命令其实只是把配置文件打印出来,并不会真的save,这个有点容易让人误解。
针对ubuntu平台ubuntu20需要安装iptables-persistent才能实现持久化
1apt install iptables-persistent
持久化的配置文件保存在
12345# 针对ipv4/etc/iptables/rules.v4# 针对ipv6/etc/iptables/rules.v6
手动保存当前配置
12345# 针对ipv4sudo iptables-save > /etc/iptables/rules.v4# 针对ipv6sudo ip6tables-save > /etc/iptables/rules.v6
针对centos平台安装包 iptables-services
1sudo dnf install iptables-services
配置文件位置
12/etc/sysconfig/iptables/etc/sysconfig/ip6tables
需要关闭 ...