Mysqldump备份数据库
mysqldump 是 MySQL 数据库自带的导出 sql 工具,可以导出原生 sql,方便后续使用。 创建备份用户 备份格式 备份压缩mysql 导出的文件是字节流,可以通过管道进行压缩。 解压: 如果 cpu 性能比较差,建议不压缩,或者备份完成后再压缩,不然备份速度非常慢 备份指定库 备份同个库多个表 备份所有库 附带 drop 表或库的备份 这样导入的时候,如果存在对应的库或表,会被先删除再导入。 备份结构,不备份数据 备份不锁表,记录 binlog 位置 备份数据库, 不带 drop 语句默认备份的类似于: 考虑到安全问题,不想要 DROP 语句,可以增加 --skip-add-drop-table 参数 拆分 insert 语句默认 mysqldump 备份的文件会在一条 insert 语句中插入很多条数据,这样可以缩小 sql 文件的大小,还能增加导入时候的速度,但是在某些场景下,我们还是希望一条 insert 对应一条数据。那么可以增加 --skip-extended-insert 参数 备份脚本 注: gz 文件解压: gzip...
Kubernetes中使用Prometheus对集群节点做监控
正常情况下使用 Prometheus 对机器做监控,比如监控 CPU、内存、磁盘等信息, 都是在机器上安装一个 node exporter, 然后将 metrics 接入到 Prometheus 中。在 k8s 环境下, 我们可以使用 k8s 来管理, 实现自动化监控。 node exporter 是针对主机节点的, 需要在每台 node 节点上安装, 那么 daemonset 控制器是最合理的选择。 网络使用 Host Network 模式, 在主机上直接暴露一个端口。 部署 node exporter使用 yaml 配置 prometheus关于 Prometheus 标签处理, 可以看 这篇文章 这里是利用了 Prometheus 的元数据,将 kubelet 的地址更换成了 node exporter 的地址, 端口换成了 9100 来实现自动化监控的。
Linux内核参数
修改内核参数临时修改修改/proc 目录 /proc/sys/ 目录是 Linux 内核启动后生成的伪目录,其目录下的 net 文件夹中存放了当前系统中生效的所有内核参数、目录树结构与参数的完整名称相关,如 net.ipv4.tcp_tw_recycle,它对应的文件是 /proc/sys/net/ipv4/tcp_tw_recycle,文件的内容就是参数值。 sysctl 命令修改 永久修改 查看内核参数查看/proc/目录 sysctl 查看 常用内核参数
编译安装PHP7.2
本文记录一下在 Linux 下编译安装 PHP 过程,没有特殊需求的话,使用 yum 源安装更方便。 准备工作准备源码包 创建用户 安装编译依赖 编译 PHP7.2 测试 PHP 工作 其他常用操作查看编译参数 查看当前生效的配置文件 查看当前生效的扩展
Linux查看系统硬件信息
CPU查看 cpu 型号 查看 CPU 核心数 查看 cpu 支不支持 aes(结果有 aes 即为支持) 内存查看内存大小 查看内存型号,插槽 硬盘查看硬盘 查看挂载、分区 查看软 raid 状态 PCI 设备查看 pci 设备 网卡查看网卡 crc 校验错误数: 如果数量一致增大,就是有问题 dmesg 可以查看网卡 down 和 up 的情况
LinuxMint配置记录
文章基于 LinuxMint 22 版本, 对应的 Ubuntu 版本是 24.04 修改 grub 启动延迟默认延迟 30s,太久了 搜索到的文章是修改 /etc/default/grub 里面的 GRUB_TIMEOUT 值,然后重新生成 grub 配置,我测试不生效。应该增加 GRUB_RECORDFAIL_TIMEOUT=3 基础环境配置安装常用的包 当前用户免 sudo 密码 git 配置 zsh 配置安装 zsh 安装 oh my zshhttps://ohmyz.sh/#install 安装一些插件https://github.com/zsh-users/zsh-autosuggestions vim修改默认编辑器 安装 vim plug 插件管理工具 配置文件 进入 vim 命令界面, 输入 :PlugInstall 安装插件 常用环境安装安装 golang python nodejs 查看 快速搭建环境记录
优雅地给正在运行的MySQL添加从库
前言之前写过一篇 MySQL主从同步配置 给 MySQL 配置从库,在主库在使用的情况下,需要将主库进行禁止写入操作,然后再导出导入,如果库比较大的话, 会对业务造成一定的影响。这篇文章主要介绍如何不停机进行添加从库。 主库操作开启 binlog 这里注意 server-id 主从不能一样, 配置完成重启 mysql 创建用于同步的用户账号登陆数据库 创建用户并授权 授权 导出数据库 sql –master-data 默认值为 1,会将 CHANGE MASTER TO 语句写入到 sql 文件中,如果将 master-data 设置为 2,则会以注释写入到 sql 文件中。–single-transaction 在 dump 过程中保证数据的一致性,这个选项对 InnoDB 的数据表很有用,且不会锁表。但是这个不能保证 MyISAM 表和 MEMORY 表的数据一致性。 从库操作导入数据库 sql 配置从库 启动从库
二进制安装MySQL5.7
如有特殊需求需要编译安装 MySQL 请看 编译安装MySQL5.7 准备工作卸载系统中的 MySQL 或 mariadb 下载二进制安装包MySQL官网 选择操作系统为 Linux-Generic 选择下载文件名为:mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz 当然也可以用 wget 直接下载 创建用户 安装依赖包为了避免执行 mysql 命令报错 ibncurses.so.5 或者 libnuma.so.1 找不到 CentOSUbuntu 注意: CentOS 9 或 RHEL 9 如果找不到这个库,可以参考:解决MySQL 5.7在Redhat 9中启动报错:libncurses.so.5和libtinfo.so.5缺失问题 设置安装路径 解压安装包 初始化数据库创建数据保存目录 initialize 配置文件与服务创建最小化配置文件 做软链接 生成 systemd 配置 启动服务 优化工作添加环境变量 修改 root 密码
使用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 配置: 两台 Director Server 做主备 机器 IP VIP 10.0.0.8 director 1 10.0.0.40 director 2 10.0.0.41 realserver1 10.0.0.42 realserver2 10.0.0.43 网卡 interface eth0 抢占式 和 非抢占式的区别: 比如 master1 默认的权重(priority)高,vip 当前...
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 run ...



