MySQL 主从复制 & 读写分离
MySQL 的复制默认的异步的,主从复制至少需要两个 MySQL 服务,这些服务可以分布在不同服务器上,也可以在同一个台服务器上。
主从复制原理binlog 是 MySQL 的逻辑日志,用于记录数据库执行的写入性操作(不含查询)语句,以二进制的形式保存在磁盘中,使用任何存储引擎的 MySQL 都会记录。binlog 通过追加的方式进行写入,设置 max_binlog_size 参数配置 binlog 文件的大小。Master 开启 binlog,将 binlog 发送到各个 Slave,Slave 按 binlog 记录的语句重写,达到主从数据一致
优化MySQL 通过 sync_binlog 参数控制 biglog 的写入时机,取值范围是 0-N:
0:不强制要求,由系统自行判断何时写入
1:每次 commit 的时候都要写入
N:每执行 N 个事务,才会写入
sync_binlog 最安全的设置是 1,(MySQL 5.7.7 之后版本默认),能有效保证主从的一致性;不过对数据库磁盘性能消耗较大,设置大一些的值可以提升数据库性能;可以按实际情况牺牲一致性来获取更好的性能。
格 ...
使用 Confluence 搭建知识库
操作系统:CentOS
安装目录:/app/service/confluence
数据目录:/app/data/confluence常规部署数据库MySQL 相关修改 MySQL 配置文件:my.cnf,详细见 Confluence 数据库连接说明123456789# 指定默认字符设置为 utf8mb4character-set-server=utf8mb4collation-server=utf8mb4_bin# 将默认存储引擎设置为 InnoDBdefault-storage-engine=INNODBmax_allowed_packet=256Minnodb_log_file_size=2GBtransaction-isolation=READ-COMMITTEDbinlog_format=row
创建 confluence 数据库和用户123CREATE DATABASE confluence CHARACTER SET utf8mb4 COLLATE 'utf8mb4_bin';grant all privileges on confluence ...
同步工具:Resilio Sync
软件介绍一直以来使用百度云进行文件文件共享,但是越来越难用,限速、限容量;
如果不是会员的话,一个超过 1G 的文件需要分卷压缩才能上传到百度云,而且分享还有被和谐的危险。
Dropbox 其实很好用,但是大天朝也不知道是为了保护本土企业还是怎么的,就是给禁了;
而 Resilio Sync 就不存在这些问题,它采用了不一样的解决方法:通过 P2P 的方式进行同步,直接将文件从你的设备传到对方设备上,它不限速、不限文件大小、不需要注册账号、跨平台,而且不用担心文件会被和谐,因为他是全程 AES 加密。
Resilio Sync 相当实用,也很良心。目前,绝大部分功能都可以免费使用,提供的专业版则是满足更高需求:它允许你随时修改共享文件的权限,在面对大型文件夹时,你还可以选择其中几个需要的文件,而不用把所有文件都同步下来,占设备空间。
软件下载官网下载 & 百度云【2017年01月23日更新】
文件同步下载并安装软件,跟着软件应道走,这没啥好说的。
共享文件点击“添加文件夹”,前三个选项是用来共享的,Pro 功能是可以选择权限的
下载文件点击“添加文件夹”,最后一个选项“输入密钥 ...
MongoDB 故障修复
报错Using the XFS filesystem is strongly recommended with the WiredTiger storage engine.See http://dochub.mongodb.org/core/prodnotes-filesystem系统使用的是 EXT4 文件系统,官方建议:WiredTiger 存储引擎使用 XFS 文件系统,以避免在使用 EXT4 与 WiredTiger 时可能发生的性能问题;如果不能重新安装系统忽略即可,不影响正常使用
MMAPV1:MongoDB 的原始存储引擎,在第一个版本中引入,从 4.0 版本开始被弃用WiredTiger:在 3.0 版本中引入插件式引擎,从 3.2 版本开始变成了默认的存储引擎
Access control is not enabled for the database. Read and write access to data and configuration is unrestricted数据库未启用访问控制,创建管理员账户即可
/sys/kernel/mm/transpar ...
MongoDB 入门
安装安装依赖1yum install libcurl openssl
安装 Server点击 访问 MongoDB 下载地址,依次点击下图所示红框位置12wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/5.0/x86_64/RPMS/mongodb-org-server-5.0.6-1.el7.x86_64.rpmrpm -ivh mongodb-org-server-5.0.6-1.el7.x86_64.rpm
Created symlink from /etc/systemd/system/multi-user.target.wants/mongod.service to /usr/lib/systemd/system/mongod.service.
安装 ShellmogoLinux 版本,命令行工具需要单独安装1234wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/5.0/x86_64/RPMS/mongodb-org-shell-5.0.6-1.el ...
树莓派 3B & 刷 OpenWrt 软路由
树莓派,英文名:Raspberry Pi(简写为 RPi,或者 RasPi / RPI)是为学生计算机编程教育而设计,只有信用卡大小的卡片式电脑,其系统基于 Linux。随着 Windows 10 IoT 的发布,我们也将可以用上运行 Windows 的树莓派。
现在的树莓派已经发展到第三代,拥有 4 核 1.2GHz 的处理器及 1GB 的 RAM,配备 4 个 USB 接口,一个 HDMI 接口,板载蓝牙和 WIFI 芯片,使用 MicroSD 卡作为存储媒介,拥有一个 40pin 的 GPIO 接口用于连接外设传感器。目前支持 Raspbian,Ubuntu 等 Linux 系统及 Windows 10 IoT 系统。
入手买的树莓派到了,银行卡大小的卡片电脑如下图:
准备工作
电源:实测用电脑的 USB 接口就能启动,我用的是 iPad 的电源
8G 以上的 MicroSD 卡
便携显示器(可选)
Putty(SecureCRT 也可以,用 XShell 无法 SSH 登录,原因未知)
SD Formatter 4.0(可选)
系统镜像(CentOS 7 ARM)
Win3 ...
Zookeeper 不完全食用指北
ZooKeeper 是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。ZooKeeper 的架构通过冗余服务实现高可用性。Zookeeper 的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。
数据结构ZooKeeper 提供的名称空间非常类似于标准文件系统,key-value 的形式存储。名称 key 由斜线 / 分割的一系列路径元素,ZooKeeper 名称空间中的每个节点都是由一个路径标识。
理论基础CAP 理论CAP 指出对于一个分布式计算系统来说,不可能同时满足以下三点:
一致性:在分布式环境中,一致性是指数据在多个副本之间是否能够保持一致的特性,等同于所有节点访问同一份最新的数据副本。在一致性的需求下,当一个系统在数据一致的状态下执行更新操作后,应该保证系统的数 ...
Zabbix 容器化部署
前置:Docker 不完全食用指北https://yuwei.cc/posts/docker.html
123yum install -y dockersystemctl start dockersystemctl enable docker
镜像准备Zabbix 官方镜像
MySQL1docker pull mysql:8.0
ServerZabbix-Server 镜像分两种:支持 MySQL 数据库的 zabbix-server-mysql 和支持 PostgreSQL 数据库的 zabbix-server-pgsql1docker pull zabbix/zabbix-server-mysql:latest
Web官方共有五种,习惯性使用 Nginx,所以选择 zabbix-web-nginx-mysql1docker pull zabbix/zabbix-web-nginx-mysql:latest
Java Gateway选配,Zabbix 默认不支持 Java,需要安装 zabbix-java-gateway 来监控 JVM/Tomcat 的性能,按需选配1docker ...