自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 使用Sysbench对Mysql进行基准测试

目录安装语法常用参数说明测试案例安装》检查是否已经安装# sysbench --version // 已安装会显示对应的版本》下载# wget https://github.com/akopytov/sysbench/archive/0.5.zip》解压# unzip 0.5.zip -d /usr/local》切换目录# cd /usr/local/...

2019-10-16 13:31:00 336

原创 使用Mysqlslap对Mysql进行压力测试

概述 mysql5.1版本之后Mysql服务器自带的基准测试工具,随Mysql一起安装,可以模拟服务器负载,并输出相关的统计信息,可以指定或自动生成查询语句。语法# mysqlslap {options} 常用参数说明--auto-generate-sql 由系统自动生成SQL脚本和相关数据进行测试 --auto-generate-sql-add-autoinc...

2019-10-16 02:24:05 215

原创 LinuxCentOs7安装Memcache

使用yum安装》检查是否已经安装memcached# yum list installed | grep memcached# yum remove -y memcached // 删除已安装的memcached(可选)》yum安装# yum install -y memcached》配置参数配置文件路径:/etc/sysconfig/memcached# v...

2019-10-15 19:02:17 298

原创 Mysql学习之用户管理

查询查询所有账户:select user,host from mysql.user;查询当前账户:select current_user;查询账户权限:show grants for '{user_name}'@'{host}';新增账户可以使用3种方式创建Mysql账户:使用GRANT语句(这里着重讲这个,因为更精确,错误少); 直接操作Mysql授权表; 使用第三方...

2019-10-15 14:58:47 125

原创 Mysql学习之数据库监控

需要监控的项目监控数据库服务的可用性; 监控数据库性能; 监控数据区集群的主从复制; 监控服务器资源;* 数据库服务可用性监控使用mysqladming ping:# mysqladmin -umonitor_user -p -h ping; 使用telnet:# telent ip db_port 使用程序通过网络建立数据库连接,执行简单的sql语句,还可以建立一个临...

2019-10-15 11:05:42 327

原创 Mysql学习之常用存储引擎

目录Mysql 体系结构介绍MyIsam存储引擎Innodb存储引擎CSV存储引擎Memory存储引擎Mysql 体系结构介绍客户端 Mysql服务层(连接管理器、查询缓存、查询解析、查询优化器) 存储引擎层(MyIsam、Innodb、CSV、Memory...)了解Mysql的体系结构对于弄懂存储引擎有一定的帮助,如下图:MyIsam存储引擎...

2019-10-15 09:09:59 151

原创 Mysql学习之锁机制(Lock)

锁概念 锁是计算机协调多个进程或线程并行访问同一资源的机制。对于数据库,如何保证数据资源并行访问的一致性、有效性、原子性是非常重要的。Mysql 数据库的锁相对比较简单,最著名的特性是不同的存储引擎支持不同的锁,比如MyIsam只支持表级锁,Innodb默认使用行级锁,但也支持表级锁,BDB支持页级索与表级锁。Mysql都是在操作之前上锁,这种锁叫悲观锁。锁按级别分类...

2019-10-14 17:55:53 140

原创 Mysql学习之事务(Transaction)

目录描述事务要求的特性(ACID)事务隔离性的级别大事务优化描述事务是多个具有原子性的Sql语句组成的独立工作单元,是数据库系统区别于文件系统的重要特性之一;在Mysql存储引擎中,Innodb支持事务,Innodb事务的隔离级别默认是可重复读;事务要求的特性(ACID)原子性(A):事务是独立且不可分割的工作单元,事务的操作要么全部成功,要么全部失败;...

2019-10-14 16:18:37 138

原创 Mysql优化之表结构

目录设计数据表的目的设计数据表的步骤设计数据表范式与反范式设计数据表的一些建议设计数据表的目的尽可能的减少数据冗余; 减少数据存储空间的大小; 使更方便快捷的查询数据; 避免维护异常(插入异常、更新异常、删除异常); 良好的数据表设计是数据库获得高性能的基础;设计数据表的步骤需求分析:全面了解产品设计的存储需求、维护需求、查询需求,安全需求; 逻辑设计...

2019-10-13 14:48:18 113

原创 Mysql优化之配置

mysql优化顺序:sql语句优化 ==》 表结构优化 ==》Mysql配置优化 ==》 服务器系统优化 ==》硬件优化Linux CentOs服务器配置优化* 内核相关的参数(/etc/sysctl.conf)net.core.somaxconn 端口监听队列的长度,默认值比较小,可以改为2048或更大; net.core.netdev_max_backlog 接收数据包的速率高于...

2019-10-12 16:39:43 166

原创 Mysql优化之Sql语句

如何取得查询慢的Sql语句:测试人员或终端用户反馈页面变慢,检查是不是查询数据库很慢; 打开Mysql慢查询日志,分析慢查询日志,找出存在性能问题的Sql语句; 查询information_schema数据库processlist表可以实时取得查询慢的Sql语句: 查询语句:SELECT id,`user`,`host`,DB,command,`time`,state,info ...

2019-10-12 11:54:15 191

原创 Mysql优化之索引

索引其实就是一个文件,它与Mysql数据文件不一样的地方是:它是顺序的保存数据,文件小且保存的位置也不一样;索引能加快检索,但系统每一次维护数据(写入、更新)的同时也需要维护索引,带来额外的开销。索引按照底层实现方式分为:B树索引、R树索引、哈希索引等;索引按照具体表现分为:主键索引(primary key)、唯一索引(unique)、单列索引(index)、全文索引(fulltext)、空...

2019-10-12 11:53:04 239

原创 Linux centOs7系统安装Mysql

目录使用yum安装使用yum安装1. 检查是否已经安装# yum list installed | grep mysql*2. 删除已经安装的Mysql# yum remove mysql*3. 配置yum源# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noar...

2019-10-10 14:23:02 93

原创 LinuxCentOs7搭建www服务器之安装Apache

Apache官方文档1. 查询已经安装的版本# yum list installed httpd*2. 删除已经安装的版本(可选)# yum remove httpd* -y3. 安装# yum install httpd -y4. 启动服务与停止服务# systemctl start httpd# systemctl stop httpd5....

2019-09-25 12:02:02 760

原创 LinuxCentOs7搭建www服务器之安装PHP

安装1. 检查系统是否已经安装PHP# yum list installed php*2. 删除已经安装的PHP(可选)# yum remove php*3. 查询可安装的PHP版本(可选)# yum list php*注:如果没有找到自己需要的版本可以更换yum源后在来查询,更换yum源可以参考下一步。4. 更换yum源(可选)webtatic官方说...

2019-09-25 10:16:28 451

原创 redis学习之有序集合

redis有序集合与集合不同的是每个成员都会关联一个double类型的分数,redis就是利用分数对集合中的成员进行从小到大的排序。目录查询集合成员查询集合成员的分数统计加入集合成员增量删除集合成员交集并集迭代查询集合成员zrange key start stop [withscores] 通过索引区间取得有序集合中给定区间内的成员; zrange...

2019-09-06 21:07:22 155

原创 redis学习之集合

redis 集合(Set)是字符串的无序排列,且没有重复的字符串;redis 集合(Set)是基于哈希表实现的,所以添加、查询、删除操作非常快速,时间复杂度为O(1)常数级;redis 集合(Set)可以存储40多亿个成员;目录加入集合查询集合删除成员差集交集并集迭代一些经典的应用场景加入集合sadd key member [member [...]...

2019-09-06 13:56:30 111

原创 redis学习之列表

redis 列表是简单的字符串队列,可以在列表头部与尾部推入字符串,其操作时间复杂度为常数级O(1),速度非常快。而且是按照推入的顺序排序,每个redis列表最少可以包含40亿个字符串。坏消息是访问列表里的元素效率不高,因为会遍历列表匹配,其时间复杂度为O(n),很难想象遍历一个超大列表会带来什么后果,如果需要快速的访问元素,建议使用redis有序集合。 redis ...

2019-09-06 10:00:34 127

原创 redis学习之哈希

redis 哈希表(hash)是字符串类型的field与字符串类型的value对应的映射表,特别适合存储对象;redis 哈希表(hash)里最多可以存储40多亿对 field - value;redis 哈希表(hash)里的域(字段) field 不能设置过期;目录设置取值查询删除哈希表中的域哈希表中的值增量迭代一些经典的应用场景设置 hset k...

2019-09-05 18:51:25 139

原创 redis学习之字符串

字符串是redis最基本的数据类型,它是二进制安全的,意思是它可以包含任何数据,包括图片、序列化的对象等,字符串的最大容量为512mb;redis的其他数据类型都是由字符串组织而来,比如链表就是一串排列的字符串,哈希就是字符串field 与字符串 value 的映射表,集合指的也是字符串的集合体;目录正常赋值与取值赋值且不能覆盖已存在的key赋值且设定生存时间取得...

2019-09-05 11:58:06 130

原创 Redis学习之Key操作

Redis 与 Memcach 都是 key-value 存储,但 Redis 不仅仅是简单的 key-value 存储,实际上 Redis 支持存储不同类型的值:字符串(String)、列表(Lists)、哈希(Hashes)、集合(Sets)、有序集合(Sorted Sets)。目录查询查询过期设置过期移除过期重命名删除序列化查询keys ...

2019-09-04 17:27:38 113

原创 Apache不在URL里显示index.php

做Url路由美化时我们都不会在Url显示脚本文件(index.php),这需要Apache启用 Rewrite 伪静态功能来实现; demo.com/index.php/site/index 应美化为 demo.com/site/index下面是配置过程:1. 打开apache的配置文件:httpd.conf;2. 找到#LoadModule rewrite_module modules...

2019-08-29 18:03:33 572

原创 Linux学习之安装Redis

这篇文章主要是记录我自己在linux系统下安装redis 是c语言开发的,安装redis需要将源码进行编译,编译依赖gcc环境。# yum 安装 wget、make、gcc、tcl 这四个依赖,已经安装好的也不会重复安装yum -y install wget make gcc tcl# wget 下载(-P 指定下载到哪个目录,根据自己的需求来设定)wget -P /home/us...

2019-08-28 15:11:33 129

原创 Linux学习之定时任务

目录介绍crontab 命令详解用户使用权限执行时间实例关于crontab服务的指令介绍linux内置的cron进程能帮我们实现定时任务,定时执行shell脚本、各种语言的执行文件、系统命令是非常强大的; 安装linux系统默认会安装cron进程,而且这个进程是默认启动的; cron进程每分钟会定期检查是否有要执行的任务,而这些任务定义在配置文件里,操作定时任务主要...

2019-08-27 19:01:02 103

原创 设计模式之组合对象的模式

目录1. 组合模式2. 装饰模式3. 外观模式按照 设计模式简介 一文的“如何描述模式”来描述:1. 组合模式1.1 问题现实编程中往往会有自身包含自身的情境,例如:目录、导航、分类等,那么该如何抽象这类结构捏?换种说法就是:如何组织那些具有相似功能的类组成的层级机构(树模型,树的每个节点具有相似功能)?1.2 解决方案建立一个单根继承体系,使具有截然不同职...

2019-08-26 22:29:55 175

原创 Linux 常用命令整理

目录用户管理进程管理信息显示磁盘&文件系统文件及目录操作查看文件&编辑文件文件压缩与解压网络操作关机重启其它 用户管理 列出用户:cat /etc/passwd 或者 getent passwd,原理是用户信息存放在 /etc/passwd 文件中; 说明:显示的信息为:用户名:x:用户ID:用户群组ID:用户备注:用户目录:...

2019-08-26 18:58:19 1228

原创 设计模式之生成对象的模式

目录1. 单例模式2. 工厂模式3. 抽象工厂模式4. 原型模式按照 设计模式简介 一文的“如何描述模式”来描述:1. 单例模式1.1 问题一般来讲每个类都应该与背景环境保持独立,并通过清晰的通信方式与系统中的其他部分进行协作。有时你需要使用一些作为对象之间沟通渠道的类,这样的类该如何实现?1.2 解决方案关键点:对象应该可以被系统中的任何对象使用;...

2019-08-25 11:36:59 168

原创 设计模式简介

目录什么是设计模式为什么要使用设计模式怎么描述一种设计模式设计模式分类1. 什么是设计模式 作为程序员,我们所遇到的大部分编程问题都被其他程序员一再的处理了。设计模式就是特定环境下同类问题的一种优秀解决方案。2. 为什么要使用设计模式模式定义了问题及问题的优秀解决方案; 模式无关于语言,也就是讲模式可以运用于任何编程语言,只是有不一样的实现方式; ...

2019-08-24 13:24:33 119

原创 PHP的瑞士军刀SPL库

SPL库是什么 SPL是用于解决典型问题(standard problems)的一组接口与类的集合。PHP 5.0 起内置了SPL库,PHP5.3 已逐渐的成熟。SPL库在开发环境中被内置,无需任何设置即可使用。SPL库能做什么提供数据结构(双向链表、栈、队列、堆、阵列、映射),并实现了这些数据结构的操作; 迭代器(迭代访问、过滤数据、缓存结果、控制分页); SP...

2019-08-23 17:05:33 200

原创 PHP常用的时间与日期函数整理

date_default_timezone_get() : string:取得一个脚本中所有日期时间函数所使用的默认时区; date_default_timezone_set( string $timezone_identifier ) : bool:设定用于一个脚本中所有日期时间函数的默认时区; time() : int:返回当前的 Unix 时间戳; microtime( [ bool ...

2019-08-23 11:10:44 285

原创 PHP数组操作分类及函数简介

一般reset( array &$array ):将数组的内部指针指向第一个单元; key( array $array) : mixed:返回数组中当前单元的键名; current(array &$array ) : mixed:返回数组中的当前单元; prev( array &$array ) : mixed:将数组中的内部指针向后移动一位,并返回成员值...

2019-08-23 09:48:09 148

原创 PHP字符串操作分类及函数简介

一般strlen( string $str) : int :获取字符串长度; str_shuffle( string $str) : string:随机打乱一个字符串; str_rev( string $str) : string :反转字符串; lcfirst( string $str ) : string:使一个字符串的第一个字符小写; ucfirst( string $str) ...

2019-08-22 13:03:21 183

原创 Web安全之盗链

描述 网站非法调用其它网站的图片、视频、音乐、软件等资源,消耗其它网站的流量,侵犯其它网站的资源,造成其它网站服务器宽带与压力增大,甚至宕机。Apache Web服务器解决方案1 > http referer方式 在http协议中,有一个头部字段:referer,表示请求的来源网站,通过检查来源网站是否受信任来回应对应的资源。 在文件 ...

2019-08-21 11:59:32 503

原创 Web安全之文件上传漏洞

描述 攻击者上传可执行的动态脚本文件(木马、病毒、脚本、Web shell等)到服务器,实现攻击。防护服务器校验文件扩展名(白名单校验); 服务器校验文件媒体类型-MIME Type(白名单校验); 服务器校验文件内容(截取文件内容验证); 重命名上传的文件; 设定上传文件目录为只读权限; 永远不要暴露文件保存路径、项目路径等重要信息;...

2019-08-20 18:09:27 125

原创 Web安全之CSRF攻击

描述 跨站点请求伪造(Cross—Site Request Forgery)。攻击者盗用合法用户的身份,发送恶意请求到服务器,然而对服务器来说,请求是完全合法的,于是服务器在完全不知情的情况下完成了攻击者所期望的操作。攻击过程首先用户浏览并登录了受信任站点A,通过站点A验证后,授权资料保存在站点A产生的Cookie信息里; 用户未退出网站A之前,在同一浏览器中...

2019-08-20 16:41:46 110

原创 Web安全之SQL注入

描述 攻击者把恶意的SQL语句插入到表单数据里并提交,或把恶意的SQL语句插入到网站URL作为参与提交,欺骗服务器执行恶意的SQL语句。检测检测软件(jsky); 网站平台(忆思网络安全平台检测工具、MDCSOFT SCAN);防护永远不要相信用户的输入,对用户提交的数据进行验证并转义特殊符号保存; 永远不要动态的拼接SQL; 永远不要使用管理员权...

2019-08-20 15:54:33 176

原创 Web安全之XSS攻击

描述 跨站脚本攻击(Cross Site Scripting),恶意攻击者往Web页面里插入恶意的脚本代码,当用户浏览该页之时,嵌入其中脚本代码会被执行,从而达到恶意攻击用户的目的。危害盗取用户cookie的敏感数据,可能包含用户的账户、密码等资料; 以用户的权限控制或操作用户电脑; 脚本代码能实现的都可能被当成攻击手段;攻击类型反射型:指攻击的脚本代...

2019-08-18 17:00:52 150

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除