记录一次生产环境数据库迁移
迁移要求不要清理目标数据 迁移是老环境迁移到新环境, 新环境之前有过使用记录了, 要求不删除现有的数据, 将老数据导入。有以下几个问题: 导出的 sql 里面不能带 drop table 语句,所以在 mysqldump 的时候需要加上 --skip-add-drop-table 参数 主键或唯一键重复的问题,需要增加参数 --skip-extended-insert sql 执行失败了需要继续, 因为现有数据可能和老环境冲突, 所以插入失败不能影响其他数据的插入, 这里选择在 mysql 控制台执行 source 命令。 备份源数据库1mysqldump -h192.168.21.26 -P3306 -uroot -p<password> --skip-add-drop-table --skip-extended-insert --databases test_database > test.sql –skip-add-drop-table 这个参数为了不在 sql 文件里面增加 drop 语句,不加的话,执行这个 sql...
mac下实现快速登陆带有两步验证的ssh跳板机
我们有个堡垒机当前的登陆流程是: ssh username@ip -p port –> 输入密码 –> 打开手机 –> 查看两部验证码 –> 输入 –> 连接成功 解决输入密码的问题mac 因为安全问题使用 brew 已经无法安装 sshpass 这个包了, 我们可以使用 ssh key 来进行免密登陆并提高安全性。不同的跳板机平台设置方式不太一样,一般都是在个人信息设置里面增加 ssh 公钥。 输入密码还可以用一个叫 tssh 的开源工具来实现(兼容 openssh 且支持 lrzsz) 解决输入两步验证码的问题两步验证码就是 TOTP,基于生成的 6 位数字, 30s 更换一次, 我们需要先拿到 TOTP 的 seed, 一般都会给一个二维码,用二维码解析工具解析, 解析出来的内容大致类似于: 1otpauth://totp/Microsoft:iuxt@outlook.com?secret=XUHHW5TKKTYGMJYM&issuer=Microsoft secret= 后面的内容就是 TOTP 的...
使用echo server测试ingress-nginx服务
这个是 灰度的方案 创建正式环境的服务1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677# DeploymentapiVersion: apps/v1kind: Deploymentmetadata: name: production labels: app: productionspec: replicas: 1 selector: matchLabels: app: production template: metadata: labels: app: production spec: containers: - name: production image:...
Prometheus标签处理
元标签在被监控端纳入普罗米修斯里面定义了一些元数据标签在 Prometheus 所有的 Target 实例中,都包含一些默认的 Metadata 标签信息。可以通过 Prometheus UI 的 Status 里面的 Service Discovery 查看 Metadata 标签 说明 address 当前 Target 实例的访问地址 host:port scheme 采集目标服务访问地址的 HTTP Scheme,HTTP 或者 HTTPS metrics_path 采集目标服务访问地址的访问路径 上面这些标签将会告诉 Prometheus 如何从该 Target 实例中获取监控数据。除了这些默认的标签以外,我们还可以为 Target 添加自定义的标签。 元标签是不会写到数据库当中的,使用 promql 是查询不到这些标签的,如果需要源标签的数据(比如 k8s 部署的 Prometheus 使用自动发现获取 pod 监控),这个时候就需要把一些元标签重新打标签来使用。 比如上图,监控 k8s 的 pod 状态, 因为 pod 是动态的,所以需要...
在Windows下以服务方式运行MySQL
下载本文安装的是 zip 包, 安装方式更灵活 下载地址: https://dev.mysql.com/downloads/mysql/ 创建配置文件在 mysql 根目录下创建 my.ini 文件,输入以下内容 (根据自己需求调整): 123456789101112131415161718192021[mysql]# 设置mysql客户端默认字符集default-character-set = utf8mb4[mysqld]# 设置端口port = 3306# 设置mysql数据库的数据的存放目录, 也可以用相对路径,默认为当前目录下的data目录datadir = C:/Users/iuxt/OneDrive/1/mysqld/data# 允许最大连接数max_connections = 200# 设置服务端使用的字符集character-set-server = utf8mb4# 创建新表时将使用的默认存储引擎default-storage-engine = INNODB# 设置redolog日志文件大小innodb_log_file_size = 256M#...
Kubernetes的3中探针readinessProbe、livenessProbe和startupProbe
探针K8S 提供了 3 种探针 startupProbe 启动检查(1.16 版本新增)livenessProbe 存活检查readinessProbe 就绪检查 startupProbekubernetes 1.16 版本新增功能,用于判断容器内应用程序是否已经启动,如果配置了 startuprobe,就会先禁用其他的探测,直到它成功为止,成功后将不再进行探测。 1234567891011startupProbe: # 健康检查方式:[readinessProbe,livenessProbe,StartupProbe] failureThreshold: 3 # 检测失败3次表示未就绪 httpGet: # 请求方式 path: /health # 请求路径 port: 8080 # 请求端口 scheme: HTTP # 请求协议 ...
MySQL慢查询日志
慢 SQL 一般都是指慢查询 开启慢查询会带来一定的性能影响。参考: http://c.biancheng.net/view/7782.html 查询慢查询日志功能状态默认情况下,慢查询日志功能是关闭的。可以通过以下命令查看是否开启慢查询日志功能。命令和执行过程如下: 12345678910111213141516mysql> SHOW VARIABLES LIKE 'slow_query%';+---------------------+---------------------------------------------------------------------+| Variable_name | Value |+---------------------+---------------------------------------------------------------------+|...
webdav使用记录
在 windows 挂载到 z 盘映射坚果云 webdav, PERSISTENT:no 表示不会记忆映射, 重启会丢失. 1net use Z: https://dav.jianguoyun.com/dav/ /user:xxx@qq.com <密码> /PERSISTENT:no 通过 curl 使用 webdav上传文件12345# 本地的test-new.zip文件上传到远程为test.zipcurl --user xxx@qq.com:<密码> https://example.webdav.com/dav/test.zip -T ./test-new.zip # 保留文件名不变curl --user xxx@qq.com:<密码> https://example.webdav.com/dav/ -T ./test-new.zip 创建目录12# 创建根目录 xxxxxxxcurl --user xxx@qq.com:<密码> -X MKCOL...
python处理字符串
读取多行字符串使用字符串的 splitlines 方法 12345678data = '''1 2 34 5 67 8 9'''# data.splitlines() --> ['1 2 3', '4 5 6', '7 8 9']for line in data.splitlines(): i = [i for i in line.split(' ') if i] # 去除列表中的空值 print(i) 字符串格式化使用 % 这种格式化方式即将被废弃, 可以使用 {} 这种占位符, 更直观 使用位置替换12345678910>>> '{0}, {1}, {2}'.format('a', 'b', 'c')'a, b,...
在ubuntu22.04或LinuxMint21上安装深信服Easyconnect
正常在 ubuntu22.04 或者 linuxmint21 上安装 Easyconnect, 可以安装, 但是无法启动. 是因为 pango 这个库版本较高导致. 需要手动将低版本的动态链接库放到 easyconnect 程序目录下. 查看链接库12cd /usr/share/sangfor/EasyConnectldd EasyConnect | grep pango 下载对应的 deb 包下载地址: http://kr.archive.ubuntu.com/ubuntu/pool/main/p/pango1.0/ amd64 架构需要下载如下几个文件 123libpangocairo-1.0-0_1.40.14-1_amd64.deblibpangoft2-1.0-0_1.40.14-1_amd64.deblibpango-1.0-0_1.40.14-1_amd64.deb 解压 deb 包这 3 个 deb 包不需要安装, 解压把相关文件放到 easyconnect 安装目录即可 123ar -vx...