使用 pt-online-schema-change 工具不锁表在线修改 MySQL 表结构

percona-toolkit 源自 Maatkit 和 Aspersa 工具,这两个工具是管理 MySQL 的最有名的工具,但 Maatkit 已经不维护了,全部归并到 percona-toolkit。Percona Toolkit 是一组高级的命令行工具,用来管理 MySQL 和系统任务,主要包括: 验证主节点和复制数据的一致性 有效的对记录行进行归档 找出重复的索引 总结 MySQL 服务器 从日志和 tcpdump 中分析查询 问题发生时收集重要的系统信息 在线修改表结构 这里主要介绍在线修改表结构功能。 在 Read more ...

2018-03-15 linux , mysql , table , ddl , sql

Java 查漏补缺之 stream

Java 8 中 stream 大大简化了 Collection 的操作,所以这篇文章就简单的了解下 stream 的基本用法,关于 collect,flatmap,map 等等更加高级的用法可能还需要另开一篇 总结。 Stream API 借助于同样新出现的 Lambda 表达式,极大的提高编程效率和程序可读性。同时它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势,使用 fork/join 并行方式来拆分任务和加速处理过程。 创建 stream 有很多种方法 通过集合的 stream() 方法或者 parallel Read more ...


VPS 云服务器能够做什么

很早以前买一台VPS主要的功能就是翻墙,然后常年也仅仅是跑一个 Shadowsocks,后来渐渐的发现其实有一台服务器即使只有单核1G,也能够用来做很多事情。以前我也看过一些文章讲述如何充分利用起VPS,但大部分除了说自建网站,挂机刷 YouTube 赚钱外也都没有什么实质性的内容。而自从开始接触Docker,我渐渐的发现了很多服务,因此我自己搜罗了一些。当然其实 GitHub 上有一个 Awesome Selfhosted 这里面列举了成百上千种可以自己托管部署的服务,几乎可以代替掉日常生活中用到的80%的服务,可以自建 nextcloud 代替 Dr Read more ...

2018-03-14 linux , vps , cloud , server , docker

docker volumes 中 -v 和 -mount 区别

Docker Volumes 机制通常用来给 Docker 容器保存持久化数据,使用 Volumes 有很多优势: 更容易备份和迁移 使用 Docker CLI 命令或者 Docker API 来管理 可以在 Linux 和 Windows 上使用 可以更安全得在多个容器中共享 Volume drivers 允许容器将内容保存到远端,云服务提供商,或者加密volume内容,或者增加其他功能 新 Volume 的内容可以被容器预先填充, volume 会先将容器内容拷贝到容器外目录 Volumes 通常也优于容器的可写层,使 Read more ...


使用 Docker 安装 gogs

Gogs 是一个能够自建Git托管服务的开源项目,用 Go 语言实现。因为较之 GitLab 轻量化一些,所以受到一定欢迎。 使用 Docker 来搭建 Gogs 服务时,需要额外依赖 MySQL,网上一般的教程都是先启动一个 MySQL 容器,开放端口,然后在启动 Gogs 容器配置。其实可以使用 docker-compose 一次性启动好。 version: '3.3' services: gogsdb: image: mysql:5.7 container_name: gogsdb restart: always Read more ...

2018-03-12 docker , gogs , git , github

docker-compose 中 links 和 depends_on 区别

以下的内容适用于 docker-compose 版本 version 2 和 version 3。先来看 Docker 官方文档中关于 Docker Compose and Django的例子,可以使用 depends_on 来访问容器中的数据 version: '2' services: db: image: postgres web: build: . command: python manage.py runserver 0.0.0.0:8000 volumes: - .:/code p Read more ...

2018-03-12 docker , docker-compose , linux

使用 privoxy 转发 socks 到 http

Privoxy 是一款不进行网页缓存且自带过滤功能的代理服务器,本文主要使用其 socks 转 http 代理的功能。Privoxy 也能够过滤网页内容,管理 Cookie,控制访问,去广告、横幅、弹窗等等,因此可以作为广告过滤。 Privoxy is a non-caching web proxy with advanced filtering capabilities for enhancing privacy, modifying web page data and HTTP headers, controlling access, and Read more ...

2018-03-11 linux , proxy , socks , http , proxychains

Docker 容器日志相关命令

系统运行一段时间之后难免容器会出现问题,出现问题并不可怕,可怕的是不知道问题出现在哪里,这个时候查看当前容器运行的日志就能够排查出一些问题。 在之前的文章 中,学会了如何创建,查看,移除等等管理容器的方法,其实查看日志也和这些方法类似。 比如要查看容器所有运行的日志可以使用,下面的 containerId 都可以被替换为容器的名字: docker logs [containerId] 如果要持续观察容器的日志输出,可以使用 -f 或者 --follow 参数 docker logs -f [containerId] 但是这个命令在不同系统 Read more ...

2018-03-10 docker , logs , linux

挂载腾讯云对象存储COS

腾讯云对象存储 Cloud Object Storage ,简称 COS,是腾讯云为企业和个人开发者提供的存储海量数据的分布式存储服务。 基本使用 在控制面板申请对象存储基本信息,创建存储桶,输入名字,选择地域,选择访问权限,然后访问秘钥,可以得到如下信息: bucket: backup-1251234567 (格式为 bucketname-appid) SecretId: SecretId SecretKey: SecretKey region: ap-beijing appid: 123456789 将腾讯云 COS 挂载到腾讯云服务器中 安 Read more ...

2018-03-09 linux , cos , tencent , vps , cloud-storage

Flask 使用模板渲染

Flask 使用 Jinja2 模板引擎。 Flask 会在 templates 文件夹里寻找模板。所以,如果你的应用是个模块,这个文件夹应该与模块同级;如果它是一个包,那么这个文件夹作为包的子目录: 情况 1: 模块: /application.py /templates /hello.html 情况 2: 包: /application /__init__.py /templates /hello.html 使用 Jinja2 只需要使用 render_template() 方法 from f Read more ...

2018-03-07 linux , flask , template , jinja2

最近文章

  • K3s 部署 Bitwarden 我之前一直是在一台机器上使用 Docker compose 安装了 Bitwarden,但是这样存在一个隐患,那就是如果这一台机器宕机了,或者发生任何意外,那么我可能有一段时间无法访问我的所有密码仓库,所以为了避免这样的问题,尤其是在我已经稳定运行 K3s 一段时间之后,我就想着将 Bitwarden 迁移到 K3s 上,并且我希望直接使用 Bitwarden 历史的数据,并且也直接使用原来的域名,密码等等,这样就不需要让我所有的设备重新再登录一遍。那么本文就记录一下我在 K3s 上搭建 Bitwarden ,以及将历史数据迁移到 K3s 中的过程。
  • K3s 中给节点添加标签并实现 Pod 调度控制 给 K3s 中的节点添加标签并实现 Pod 调度是一个非常常见的需求,特别是当你希望某些 Pod 只在特定地理位置的节点,比如美国,日本,上运行的时候。
  • 使用 Claw Cloud 免费部署 Gemini 反向代理教程 前两天介绍过永久免费的 Claw Cloud Run,本文将介绍一下如何使用 Claw Cloud Run 来免费部署一个 Gemini API 反向代理服务。
  • K3s 部署 IT Tools 在线工具集 IT Tools 是一个开源的工具集,包含了非常多好用的工具,Token 生成,Hash 生成,UUID 生成,加密解密,BIP39 passphrase 生成,Hmac 生成,RSA 密钥生成,Password 生成,PDF 签名检查,日期转换,Base64 转换,Unicode,ASCII,YAML,JSON 等等非常多有用的工具。
  • 在 K3s 中安装 Redis Cluster 集群 在拥有 3 个 master 节点和多个 Agent 节点的 K3s 集群上部署高可用的 Redis Cluster 是一个很好的选择,可以确保数据的高可用性和可扩展性。