MySQL基于GTID的主从复制
没开启 GTID 的 MySQL 数据库增加从库请看:优雅地给正在运行的MySQL添加从库 自动同步连接主库 (方法一)适用于 master 也是新建不久的情况,如果你的 master 所有的 binlog 还在,可以安装 slave,slave 直接 change master to 到 master 端。原理是直接获取 master 所有的 GTID 并执行。 优点:简单方便。不需要备份主库再在从库还原。缺点:如果 binlog 太多,数据完全同步需要时间较长。如果旧的 binlog 已经被清理了,则不能正常同步。 在从库执行: master_auto_position=1 从库自动找同步点 备份导入连接主库 (方法二)适用于拥有较大数据的情况。(推荐) 通过 master 或者其他 slave 的备份搭建新的 slave。原理:获取 master 的数据和这些数据对应的 GTID 范围,然后通过 slave 设置 master_auto_position=1,自动同步,跳过备份包含的 gtid。缺点:相对来说有点麻烦。 主库使用 mysqldump 导出 SQL 文件...
WSL新的网络模式-mirrored镜像网络
刚开始我用 Hyper-V 自定义内部网络网段和IP地址 配置 Hyper-V 并创建了几台虚拟机, 但是和 WSL 的网络不通, 解决方案可以是将 Hyper-V 虚拟机只接使用 WSL 的网络适配器。不过 2023 年 9 月的 WSL 更新添加了一些新的实验性功能,其中包括一些关于新的网络模式“镜像”。镜像网络带来了一些实用的特性,例如将 WSL 中的服务开放到局域网(之前是 NAT 网络,只有主机可以通过 localhost 访问)。更新日志中提到,镜像网络带来的新特性如下: IPv6 支持 在 Linux 中通过 127.0.0.1 访问 Windows 服务 通过局域网直接连接 WSL 对 VPN 更好的兼容性 多播支持 安装使用首先,这项特性需要 22621.2359 及以上版本的 Windows 11 以及 2.0 以上版本的 WSL。使用 wsl --version 命令可以检查是否符合需求,wsl --update 命令可以更新 WSL。 确认满足版本需求后, 在 windows 的个人文件夹下创建 .wslconfig 文件,内容如下: spar...
Hexo博客更换url结构后配置自动跳转
因为修改过博客的链接规则, 原来的链接是 https://zahui.fan/xxx/ 修改成了 https://zahui.fan/posts/xxx/ 或者删除了部分标签,造成了搜索引擎内之前收录的一些链接都变成了 404,不利于 SEO 如果是 hugo,可以查看这篇文章:Hugo博客批量更换url结构 在 hexo 中我们可以使用 hexo-generator-alias 对文章进行跳转。 安装 hexo-generator-alias GitHub 地址: https://github.com/hexojs/hexo-generator-alias 全局配置比如 tags、category 等这种不存在对应的 markdown 文件, 可以配置在全局配置 _config.yml 中: 文章配置配置在文章的 front-matter 中: abbrlink:就是文章本来的链接, 比如我的就是 https://zahui.fan/posts/57e7c794/ alias: 这个是关联的链接,配置成 /57e7c794/, 则访问 https://zahui.f...
RustDesk服务器搭建记录
RustDesk 是一个远程控制工具,开源跨平台,可以使用官方的服务器,也可以自建服务器使用。服务器分为开源版 oss 和付费版 pro,我使用的是开源版。 部署服务器服务端是 rust 开发的,单文件直接运行即可。你可以使用你喜欢的进程管理工具来管理,比如 nodejs 写的 pm2, Python 写的 supervisor, 或者使用 docker 运行,我选择 docker。 启动命令 文件说明data 目录(容器内的 root 目录)下的文件: 文件名 说明 db 开头的文件 SQLite 数据库文件 id_ed25519 私钥 id_ed25519.pub 公钥,文件内容就是客户端需要的 key 网络端口我使用了 host 网络,如果使用 bridge 网络(docker 默认网络),需要映射以下端口 hbbs 服务 端口 类型 说明 21115 tcp used for the NAT type test 21116 tcp used for TCP hole punching and connection service ...
Django Restframework 实现根据字段过滤
安装 注册进 Djangovim settings.py 视图中单独指定 使用上面指定了过滤的字段,那么可以根据这两个字段进行过滤了。 模糊搜索上面的搜索(过滤)方式是精确搜索, 如果你使用的是 DRF,需要模糊搜索可以使用 rest_framework 的 filters vim views.py 搜索方式
使用kubeadm部署的集群证书过期后处理
之前使用 kubeadm 部署的集群,突然有一天执行 kubectl get pod 提示: 意思是证书有效期到 2024-02-27T08:36:50Z, 已经超过了证书有效期了。 查看证书有效期 执行续期操作 更新 kubectl 配置如果当时安装的时候是通过 cp /etc/kubernetes/admin.conf ~/.kube/config 复制的配置,需要再更新一遍,管理员也可以指定使用 /etc/kubernetes/admin.conf 作为 kubeconfig,就不用每次更新了。 重启服务需要重启 kube-apiserver, kube-controller-manager, kube-scheduler 和 etcd, kubeadm 安装的 kubelet 会自动更新证书,所以不用重启。 容器运行时是containerd容器运行时是docker
Windows修改用户名
之前 windows10 在安装过程中如果不使用微软账号登录的话,创建一个本地账户,那么创建好的用户名就是个人文件夹的名字。如果设置了中文,那么个人文件夹名字就是中文,后续会有软件兼容性问题,可以通过修改注册表来修改文件夹名字。 修改用户名首先要区分一下什么是用户名 上面这些都不是用户名,而是显示出来的用户名,也就是用户名全名。可以在 lusrmgr.msc 或 control userpasswords2 或 netplwiz 查看: 通过上图发现,我的用户名应该是 ooo 修改用户名可以直接在 lusrmgr.msc 进行修改,包括显示的全名,如果你只是想修改显示出来的名字,到这里就可以了。 修改个人文件夹路径danger 修改个人文件夹路径需要慎重!有部分已安装软件引用的还是旧的路径,这样会造成各种报错,可能需要卸载重新安装才能正常使用。 当前我的文件夹名字是 测试, 如图: 修改系统定义的路径打开注册表编辑器,定位到 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Profil...
通过docker容器查看run命令
公司有一台服务器上运行着一个服务,通过 docker start 启动,已经没有文档记录如何搭建的了。现在需要迁移,记录一下获取 docker run 命令的方法 通过模版处理 docker inspect 的数据来获取使用 runlike 来获取模版文件来自https://gist.githubusercontent.com/efrecon/8ce9c75d518b6eb863f667442d7bc679/raw/run.tpl 假设容器名是 mysql, 命令后面可以跟容器名或者容器 id。命令如下: 得到的结果和原始的不一样,但是大差不差了。 runlike 的结果也是近似的 或者使用 get_command_4_run_container
Grafana 监控面板配置
安装 grafanaoss:开源版本 enterprise: 商业版本 https://grafana.com/grafana/download?pg=get&plcmt=selfmanaged-box1-cta1&edition=oss 添加数据源以 grafana 10.3.3 为例, 在 connections –> Data sources 中新增: 面板配置可以手动配置,也可以在 grafana 官网下载别人配置好的模板:https://grafana.com/grafana/dashboards/, 复制 ID 或者下载 json 文件到本地 然后在面板上面,点击 + , 选择 import dashboard 使用 json 文件导入或者直接输入面板 id 进行导入。 导入后便能看到基础的图形。 做变量筛选比如我们的监控会区分环境, 比如开发环境 dev,生产环境 prod, 现在需要在 grafana 的面板上做一个筛选框,这里是原始的数据:比如我们需要取 env 的值 在面板的设置 – 变量中, 添加一个变量, 变量名可以自定义, 在此...


