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:...
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这个包 编译...
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 的情况
LinuxMint配置记录
文章基于 LinuxMint 22 版本, 对应的 Ubuntu 版本是 24.04 修改 grub 启动延迟默认延迟 30s,太久了 搜索到的文章是修改 /etc/default/grub 里面的 GRUB_TIMEOUT 值,然后重新生成 grub 配置,我测试不生效。应该增加 GRUB_RECORDFAIL_TIMEOUT=3 12345# 更新grub配置文件sudo update-grub# 或者# sudo grub-mkconfig –o /etc/grub2.cfg 基础环境配置安装常用的包12sudo apt update && sudo apt upgrade -ysudo apt install -y libmysqlclient-dev build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev...
优雅地给正在运行的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...
二进制安装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-libs 注意: CentOS 9 或...
使用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...
Containerd的管理工具
如果你对 Docker 命令比较熟悉, 可以考虑使用 nerdctl 来管理 containerd,和 docker 命令类似:https://github.com/containerd/nerdctl 命令对比 命令 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...