log文件

Haproxy负载均衡与高可用

风流意气都作罢 提交于 2019-12-06 01:43:44
HAPROXY简介 HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种负载均衡解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。 2、HAProxy的特点是: 1、HAProxy支持虚拟主机。 2、HAProxy的优点能够补充Nginx的一些缺点,比如支持Session的保持,Cookie的引导;同时支持通过获取指定的url来检测后端服务器的状态。 3、HAProxy跟LVS类似,本身就只是一款负载均衡软件;单纯从效率上来讲HAProxy会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的。 4、HAProxy支持TCP协议的负载均衡转发,可以对MySQL读进行负载均衡,对后端的MySQL节点进行检测和负载均衡,可以用LVS+Keepalived对MySQL主从做负载均衡。 5、HAProxy负载均衡策略非常多,HAProxy的负载均衡算法现在具体有如下8种:   ① roundrobin,表示简单的轮询,这个不多说,这个是负载均衡基本都具备的;   ② static-rr

MySQL技术体系之核心参数

一个人想着一个人 提交于 2019-12-05 22:19:39
本文主要基于MySQL 5.7版本的数据库环境,总结my.cnf文件中核心参数的配置使用,让更多的人对MySQL技术体系有更全面、更专业的深度了解。 一、客户端核心参数 1、port 端口号,默认3306 2、socket Socket文件地址,默认以.sock为文件名称后缀,用于UNIX套接字通信。 二、服务端全局区(SGA)缓冲区参数 1、innodb_buffer_pool InnoDB缓冲池,位于主内存 缓存被访问过的表数据、索引文件、插入缓冲、数据字典等 推荐大小设置为物理内存的50%-80% 2、innodb_buffer_pool_instance 将缓冲池进一步划分为互相隔离的内存区域,更好的支持并发读写,减少内存争用现象 默认值为1 仅当innodb_buffer_pool参数配置大于1024MB有效 通过命令show engine innodb status查看每个内存区域的内存使用情况 3、innodb_old_blocks_time和innodb_old_blocks_pct InnoDB缓冲池innodb_buffer_pool,内部由LRU链表管理 LRU链表进一步分为old pages list和young pages list: old pages list:存放长时间未被访问的数据页 young pages list:存放最新、最近被访问的数据页

异机恢复测试

我怕爱的太早我们不能终老 提交于 2019-12-05 19:34:42
使用此方式:异机恢复,类似手工建库 :区别在于,数据之前是有的,使用的是备份代替脚本,控制文件也是使用之前的备份 异机恢复应用场景: A:几十个G的测试库,需要将测试数据完全复制,迁移到另一个库,使用RMAN与数据泵/exp相比,具有明显优势,使用此场景快速搭建 B:灾备演练:使用备份,通过异机恢复的方式,验证备份的可用性 备份区分 :A全备传输+归档日志传输+控制文件+参数文件+密码口令文件 B全库0级备份+增量备份---- 本次实验测试: A/B A-使用0级全备:类似全库备份方式,异机恢复 B-A实验成功 后,删除所有数据及备份信息,重新再来,使用全库备份 +1级增量备份测试 异机恢复流程: 源端: 实验环境: 10.2.0.4 全库备份:参数文件 -控制文件-数据文件-归档日志文件 传输 : 备份信息从源端- 拷贝至 - 目标端 目标端: 创建准备:创建相应目录:密码文件:参数文件修改名称 参数文件修改: 使用参数文件,启动到 Nomount状态 RMAN: 使用备份的控制文件,restore恢复至,参数文件指定的控制文件名称,路径 RMAN:注册备份片:数据文件、归档日志文件注册 RMAN:restore 应用备份,还原数据文件, set修改数据文件目录结构 RMAN: recover 应用日志恢复:open打开数据库 测试 :A #开启块跟踪,本次增量备份

mysql主从复制

梦想的初衷 提交于 2019-12-05 18:07:54
mysql一主一从 主从复制工作过程 mysql主从复制依赖于二进制日志;用户发送请求更新数据,数据库更新后生成二进制日志,主节点把新生成的二进制日志通过dump线程通过网络发送给从节点;从节点的io thread负责接收二进制日志,把二进制日志的内容放到中继日志中(relay log);从节点通过sql thread线程执行中继日志中的sql语句,实现更新本机的数据库数据 主从复制原理图如下: 主节点配置: [root@centos7 ~]# vim /etc/my.cnf [mysqld] innodb-file-per-table #指定存储引擎 server-id=7 #设置区分主从的id;mysql配置文件不区分"_"和"-" log-bin #主节点必须启用二进制日志,主从复制基于二进制日志 [root@centos7 ~]# systemctl retart mariadb [root@centos7 ~]# mysql MariaDB [(none)]> grant replication slave on *.* to repluser@'192.168.38.%' identified by 'centos'; #创建并授权一个账号,用于从节点连接主节点复制数据用,授权权限为从节点复制 从节点配置 [root@localhost ~]$ vim /etc/my

android6.0系统Healthd深入分析

女生的网名这么多〃 提交于 2019-12-05 17:36:08
概述 Healthd是android4.4之后提出来的一种中介模型,该模型向下监听来自底层的电池事件,向上传递电池数据信息给Framework层的BatteryService用以计算电池电量相关状态信息,BatteryServcie通过传递来的数据来计算电池电量显示,剩余电量,电量级别等信息,如果收到过温报警或者严重低电报警等信息,系统会直接关机,保护硬件。 主模块处理流程 Healthd模块代码是在system/core/healthd/,其模块入口在healthd的main函数,函数代码如下: int main(int argc, char **argv) { int ch; int ret; klog_set_level(KLOG_LEVEL); healthd_mode_ops = &android_ops; if (!strcmp(basename(argv[0]), "charger")) { healthd_mode_ops = &charger_ops; } else { while ((ch = getopt(argc, argv, "cr")) != -1) { switch (ch) { case 'c': healthd_mode_ops = &charger_ops; break; case 'r': healthd_mode_ops =

将规定的文件以及文件夹,压缩打包

孤街浪徒 提交于 2019-12-05 16:32:26
需求:公司需要把日志进行打包以及压缩,日志分为两种格式 第一种:2019-10-12.log (属于文件,需要每天进行压缩) 第二种:2019-10 (属于文件夹,只需要把上个月的文件夹进行压缩) 这里将两种整合到一个脚本里,让其每天执行。如果遇到第二种情况,就判断有没有属于上个月的文件夹,如果有,就将其压缩打包,如果没有,就跳过 import os import zipfile import datetime,time from dateutil.relativedelta import relativedelta ######################################################################### # File Name: log_zip.py # Created on: 2019-11-25 16:30:46 # Author: xieys # Last Modified: 2019-11-25 16:30:46 # Description: # 需求:需要把日志文件进行打包,这里有两种格式 #第一种格式:2019-11-24.log (属于文件) #第二种格式:2019-10 (属于文件夹) #############################################################

MySQL主从复制+过滤复制+GTID

南笙酒味 提交于 2019-12-05 14:55:17
MySQL主从复制+过滤复制+GTID 1.修改主库从库配置文件 主库: vim /etc/my.cnf [mysqld] server_id=1 log-bin=mysql-bin 从库: vim /etc/my.cnf [mysqld] server_id=1 注意: 1)主库server_id为1,从库server_id不等于1即可,从库之间可以相同. 2)主库需要开启binlog,从库可以不开启binlog,就算开启,也不会写入数据. 主从库server-id一定要彼此独立,不能重复,否则会出现如下错误: Slave: received end packet FROM server, apparent master shutdown **主库: Binlog_Do_DB #在主库上设置白名单:只记录白名单设置的库或者表,相关的SQL语句到binlog中 **生产中不能设置,否则不记录其他库的binlog,数据一旦丢失找不回来** Binlog_Ignore_DB #在主库上设置黑名单:不记录黑名单设置的库或者表,相关的SQL语句到binlog中 **从库: replicate-do-db=test #从库白名单,只同步某个库 replicate-do-table=test.t1 #从库白名单,只同步某个库中的某个表 replicate-wild-do-table=test

Laravel中的日志与上传

眉间皱痕 提交于 2019-12-05 11:59:18
PHP中的框架众多,我自己就接触了好几个。大学那会啥也不懂啥也不会,拿了一个ThinkPHP学了。也许有好多人吐槽TP,但是个人感觉不能说哪个框架好,哪个框架不好,再不好的框架你能把源码读上一遍,框架的设计思想理解了也能学到好多东西。况且有好多东西自己还不理解,所以认真学习一个框架这还是可以学不少东西的。   还是先说说Laravel吧,现在已经到5.2了。就我自己来说之前没有接触过laravel,但是学习过laravel之后感觉这个框架确实不错,并且老外用的不亦乐乎。他的开发社区还可以,文档比较齐全,但是官网文档不咋地,从上面读不出多少东西(自己感觉),好多东西还得阅读源码,对于我这种英语不好的人还更喜欢中文文档(以后得改)。Laravel是使用Composer(https://getcomposer.org)来管理依赖,确实比较方便,但是因为镜像被墙的原因在访问或者更新的时候比较慢(几乎失败),这里有解决办法:http://pkg.phpcomposer.com/#tip1。   最近因为工作需要项目要重构(重构原因不用多说,大家懂得),需要迁移到新的框架上。Laravel是一个不错的框架,强大的路由,便捷的配置,高可用的模块依赖,确实为开发省了不少力气。考虑到我们这个项目主要是接口部分,对性能有一定的要求(但是不是苛刻),并且路由不能改,要兼容老的逻辑

定时任务Crond

人盡茶涼 提交于 2019-12-05 11:30:47
1. 定时任务Crond介绍 1.1 Crond是什么? Crond是Linux系统中用来 定期执行命令或指定程序任务 的一种服务或软件。 一般情况下,CentOS5/6 Linux操作系统之后,默认便会启动Crond任务调度服务。 在我们前面的系统安装及开机启动优化的设置中,我们也设置保留了Crond开机自启动。 Crond服务会定期(默认每分钟检查一次)检查系统中是否有要执行的任务工作。 如果有,便会根据其预先设定的定时任务规则自动执行该定时任务工作。 这个Crond定时任务服务就相当于我们平时早起使用的闹钟一样。 特殊需求: Crond服务搞不定了,一般工作中写脚本守护程序执行。 例子: 每隔1s向屏幕输出一条"I am oldboy teacher." [root@oldboy exercise]# cat cron.sh while true do echo "I am oldboy teacher." sleep 1 done 程序文件:程序代码组成,但是没有在计算机内执行。当前没有执行。 进程:所谓进程就是计算机中正在执行的程序 守护进程或守护程序:就是一直运行的程序。 操作命令: 批量关闭开机运行级别为3的开启的所有服务,然后再批量开启指定的需要开启的服务:crond,syslog,sshd,network,sysstat。 LANG=en for oldboy

mysql bin-log学习笔记

北慕城南 提交于 2019-12-05 11:23:59
一、bin-log介绍 MySQL的二进制日志可以说是MySQL最重要的日志了,它事件形式记录了所有的DDL和DML更新数据语句,以及所执行消耗的时间,MySQL的二进制日志是事务安全型的。 一般来说开启二进制日志大概会有1%的性能损耗 。其有两个重要的使用场景: 1、主从复制时备机通过dump master节点的bin-log文件来进行数据同步 2、通过使用MySQLBinlog工具做数据恢复。 bin-log包括两类文件: 索引文件(文件名后缀为.index):用于记录所有的二进制文件, 日志文件(文件名后缀为.00000*):记录数据库所有的DDL和DML(导致数据更新)语句事件。 二、Binlog的开启 linux配置开启mysql bin-log日志服务 三、bin-log的三种级别及其对比 1、statement 语句级:记录每次执行导致数据改变的sql语句。 优点:节省存储空间 缺点:可能产生数据不一致问题, 比如: 系统时间获取、随机数函数、自定义函数下使用binlog日志进行数据恢复,由于网络延迟可能产生数据不一致问题。 2、row 行级:记录更新后的数据 优点:其可以精准的记录数据变化,解决主从复制数据不一致问题 缺点:占用较大空间,特别是在批量数据插入、更新的情况下。 3、mixed statement的升级版