容灾:mysql主从复制实践
站内链接:
容灾-mysql 高可用
容灾-策略和架构
容灾-数据同步和复制
容灾-redis 高可用
容灾-mongo 高可用
mysql 优化和事务
docker 配置说明
主从原理容灾架构在容灾数据同步和复制文章中我们详细描述了数据同步和复制的几种方式以及 MySQL 使用到异步复制、半同步复制、增强半同步复制等,同时在容灾-策略和架构中我们系统性的阐述了如下几个观点或需求:
为何要对系统使用容灾?
容灾架构的演进是怎样的?
在此文章中我们将开始实际动手进行 MySQL 的主从配置实践。注意,主从配置网络上实际上有两个版本,分别是 GTID 版本和非 GTID 版本,如果没有认真的了解 MySQL 版本演进历史则很容易在这里产生混淆。
主从原理无论主从配置使用何种配置,主备之间的数据交互方式都是使用相同的原理,通过如下几个角色完成了主端消息到备端的推送和拉取工作:
连接工作线程:处理 SQL 请求并写入数据到磁盘中
log dump 线程:监听 binlog 日志变更并 notify 从库有新的记录更新
IO 线程:接收主端的消息通知并主动从主端 binlog 中拉取最 ...
git:工作流
站内链接:
git 分支操作
git 配置
git 术语
git 团队写作管理
git 仓库介绍
git submodule 介绍
git tag 介绍
git 原理介绍
git 工作流
svn 介绍
Classify
参考: git-tutorial
Setting up a repository
git init: 创建一个包含.git 目录的本地仓库
git clone: 拷贝已有的仓库到本地
git config: 配置
Saving Changes
git add: adds a change in the working directory to the staging area
git commit: commits the staged snapshot to the project history
git stash: temporarily shelves (or stashes) changes you’ve made to your working copy so you can work on something else, and then come ...
git:标签
站内链接:
git 分支操作
git 配置
git 术语
git 团队写作管理
git 仓库介绍
git submodule 介绍
git tag 介绍
git 原理介绍
git 工作流
svn 介绍
Listshow all123# 列出标签信息git taggit tag -l 'v1.4.2.*'
show special12# 需要私钥才有权限git show v1.5
verify12# 需要公钥进行验证git tag -v v1.5
Create123# 签署标签, 需要私钥git tag -a v1.4 -m 'My version 1.4'git tag v1.2
Push or Share12git push origin tags-namegit push origin --tags # 一次性推送所有tags
注意, 一旦本地已经存在某个 tag 并且该 tag 中的内容还是老的提交记录, 此时执行git fetch 并不会更新本地的 tag 分支,这点非常重要可能会导致 hotfix 分支修复 ...
git:分支
站内链接:
git 分支操作
git 配置
git 术语
git 团队写作管理
git 仓库介绍
git submodule 介绍
git tag 介绍
git 原理介绍
git 工作流
svn 介绍
Introduction通用格式1234# 通用格式git action 【远程名】 【本地分支】:【远程分支】# 简写git [action] [remote name] [branch name]
一般情况下, 本地分支和远程分支都是保持同样的名字, 所以一般的简写格式是第二种方式, 更进一步, 如果你希望本地任意分支自动关联远程分支, 可以使用--set-upstream配置, 其命令如下:
12# For every branch that is up to date or successfully pushed, add upstream (tracking) reference, used by argument-less git-pull(1) and other commands.git branch --set-upstream-to=origin/[remote ...
git:仓库
站内链接:
git 分支操作
git 配置
git 术语
git 团队写作管理
git 仓库介绍
git submodule 介绍
git tag 介绍
git 原理介绍
git 工作流
svn 介绍
git-branch
IntroRepository and Branch理解仓库和分支的区别:
repository: 某一个指定路径的代码集合, 本地仓库, 远程仓库
branch: 某一个提交对象往回看的历史, commit 对象上的一个指针
Originorigin 就是一个名字,它是在你 clone 一个托管在 Github 上代码库时,git 为你默认创建的指向这个远程代码库的标签.origin 指向的是 repository,master 只是这个 repository 中默认创建的第一个 branch. 执行命令git clone时 git 做了如下的操作:
将远程主机命名为origin, 这个比较重要, 有助于理解
创建一个指向 master 分支的指针并将其命名为origin/master, 实际指向remotes/origin/HEAD -> ...
静态服务器搭建
IntroductionWEB 服务的配置总步骤说明, 避免无端的时间浪费, 在系统配置方面, 某一方面的小失误可能会带来极大的时间消耗.
WEB Server的配置步骤主要包括如下几个部分:
应用本身的配置和运行(比如django服务)
介于WEB Server和 APP 之间的”WSGI-网关接口”的配置(比如gunicorn)
WEB Server本身的配置
WEB Server和 WSGI 网关的联调配置
以下的所有都是基于如下需求而说明: NGINX <----> gunicorn <----> django
在这之前, 首先确保域名解析, 安全组策略等通过, 见dig笔记
ConfigureIntro该步骤的配置非常简单, 利用virtualenvwrap就可以快速的完成部署, 配置所需包一般和开发环境保持一致.
Running这一步算是”月球的一小步”, 利用简单服务器启动命令: python manage.py runserver 检查应用本身是否存在问题,最好进行适当的 API 调用, 如果直接运行测试用例那就更加完美.
否则, 该步骤积 ...
File Redirect
本网站相关文章:
文件-基本操作集
文件-过滤
文件-find
文件-grep
文件-locate
文件-lsof
文件-redirect
文件-regex
文件-rsync
文件-sed
文件-tar
文件-xargs
基础知识重定向常见语法有如下基类:
输入重定向: <
输出重定向: >
输出追加: >>
输入输出: <>
关闭文件描述符: &-
一些常见的设备文件
123456789/dev/fd/{num} 该目录下存在任何有效整数,表示该文件描述符已经被复制,例如0被复制到stdin/dev/stdin 复制文件描述符0/dev/stdout 复制文件描述符1/dev/stderr 复制文件描述符2/dev/null 特殊的设备文件, 丢弃一切写入的数据, 一旦读取立刻返回EOF/dev/tcp/主机号/端口号 某一个TCP连接/dev ...
Shell Command: locate
本网站相关文章:
文件-基本操作集
文件-过滤
文件-find
文件-grep
文件-locate
文件-lsof
文件-redirect
文件-regex
文件-rsync
文件-sed
文件-tar
文件-xargs
说明
描述和命令搜索数据库/var/lib/locatedb, mac上/var/db/locate.database, 类似”find -name”, 但是速度快于后者, 不过 locate 并非实时查询, locate 的查询为模糊查询, 查询需要依托已经建立的数据库或索引, 而索引的建立需要耗用系统资源.
-d [DB]:指定 DB 数据库, 默认为 /var/lib/slocate/slocate.db
-i: 忽略大小写
-1: 安全模式, 使用者不会看到权限无法看到的文件信息
-n: 至多 N 个输出
-r: 模糊查找 + 正则查找
-f: 将特定的文件排除在外
更新
linux 上使用updatedb, OSX 上通过/usr/libexec/locate.updatedb来进行数据库的构建和更新流程, 注意, 命令会扫描全部磁盘下的全部文 ...
Shell Command: grep
站内链接:
文本处理三剑客之 gawk
文本处理三剑客之 grep
文本处理三剑客之 sed
文件相关:
文件-基本操作集
文件-过滤
文件-find
文件-grep
文件-locate
文件-lsof
文件-redirect
文件-regex
文件-rsync
文件-sed
文件-tar
文件-xargs
Introduction文本三剑客在讲解 grep 命令之前, 先让我们简单的了解一下何为文本三剑客: grep, awk, sed.
grep: 基于正则表达式查找到满足条件的行信息, 专注于: 数据查找定位
awk: 对定位到的数据行进行切片分段处理, 按列来处理数据, 专注于: 数据切片
sed: 对定位到的数据行进行更改, 专注于: 数据修改
grep搜索输入的 FILES 中每一行是否 match 匹配项, 如果匹配, 提取出来.
egrep: 等价于 grep -E
fgrep: 等价于 grep -F
rgrep: 等价于 grep -R
另外, 对于持续输出数据continuous stream, grep 需要添加--line-buffered(行 ...
Shell Command: Find
本网站相关文章:
文件-基本操作集
文件-过滤
文件-find
文件-grep
文件-locate
文件-lsof
文件-redirect
文件-regex
文件-rsync
文件-sed
文件-tar
文件-xargs
IntroductionDefinityFind–Walk a file hierarchy(层级). 相比其他命令, 其功能非常强大, 其用法也非常繁杂. Find 常常与xargs搭配使用.
Formatformat: find ${start_directory} ${test} ${options} ${criteria to match} ${action to perform on results}
start_directory: 作用根目录
test: 检查条件, 当且仅当测试为 True 时才会进行后续的操作, 否则进行下一个文件的检查, 匹配, 操作
options: 参数选项, 例如 mtime, 见下文介绍
criteria to matc ...