技术分享

MySQL优化之实现MySQL主从复制

MySQL优化之实现MySQL主从复制

MySQL主从复制是MySQL优化的重点之一,可解决数据分布,负载均衡,备份,以及实现数据库的高可用性和容错性,本篇介绍MySQL双主热备,实现互为主从。主服务器用于写数据,从服务器监听主服务器中的二进制日志,从而来实现主从复制。

后端开发 02/21

搭建Redis Cluster集群

搭建Redis Cluster集群

Redis Cluster提供了一种运行Redis安装的方法,在该安装中,数据会 在多个Redis节点之间自动分片。Redis Cluster 在分区期间还提供了一定程度的可用性,这实际上是在某些节点出现故障或无法通信时继续操作的能力。但是,如果发生较大故障(例如,大多数主服务器不可用时),集群将停止运行。Redis Cluster自动分割在多个节点之间的数据集,一部分节点出现故障或无法与集群的其余部分通信时,继续运行的能力。

运维技术 02/08

CentOS Supervisord守护进程实现Laravel异步队列任务

CentOS Supervisord守护进程实现Laravel异步队列任务

Supervisor是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动重启。在PHP框架Laravel中,提供了对队列的支持,要让队列监听常驻内存,就需要借助Supervisord守护进程工具,同时,解决使用了Supervisor后,Laravel队列被重复执行的问题。

运维技术 01/21

MySQL8明文密码实现数据库备份

MySQL8明文密码实现数据库备份

MySQL用mysqldump命令实现数据库备份,需将密码明文方式显示在命令上,但在运行时会报错:mysqldump: [Warning] Using a password on the command line interface can be insecure.这是mysql的登录安全机制,那么我们如何在mysqldump命令中明文传输密码并实现备份呢?

后端开发 12/28,2019

Dockerfile构建PHP,Nginx,Composer,lnmp环境

Dockerfile构建PHP,Nginx,Composer,lnmp环境

之前有介绍过使用官方镜像构建php环境,多个容器相关联,虽然能达到效果,但是效率却降低了一半,如果需要在多台服务器上构建环境,都需要重复去pull镜像,运行关联容器,为了方便克隆,我试着写了个简单的dockerfile,包括了php、nginx、git以及composer基础环境。

运维技术 12/15,2019

MySQL隐式类型注入与隐式转换

MySQL隐式类型注入与隐式转换

SQL注入是最严重,也是最常见的漏洞之一,开发人员在处理程序与数据库交互时,如果未对数据进行严格的校验防护,会出现非常严重的安全隐患,SQL注入的攻击方式有报错注入、普通注入、隐式类型注入、盲注、宽字节注入、二次解码注入,这里主要记录下MySQL隐式注入。

后端开发 12/05,2019

PHP7.4新特性

PHP7.4新特性

最近,PHP官网刚刚发布了7.4版本,新增了类型声明,箭头函数,数值分割等新特性,以及弃用了一些方法,下面做一下简单的介绍及说明。

后端开发 12/03,2019

PHP建议禁用的危险函数

PHP建议禁用的危险函数

PHP配置文件中的disable_functions选项能够在PHP中禁用指定的函数。PHP中有很多危险的内置功能函数,如果使用不当,可造成系统崩溃。禁用函数可能会为研发带来不便,但禁用的函数太少又可能增加研发人员写出不安全代码的概率,同时为黑客非法获取服务器权限提供遍历。在PHP配置文件中添加需要禁用的函数可以有效避免webshell。

后端开发 11/17,2019

PHP安全配置

PHP安全配置

当配置好PHP的web运行环境后,通常需要修改配置来达到安全目的。在优化配置、增强性能的同时,正确的配置PHP可以避免很多安全问题。修改PHP的配置,一般是修改php.ini文件,然后保存并重启web允许环境。如何修改配置,以降低风险,减少安全问题,是我们作为开发和运维人员必要的任务之一

后端开发 11/16,2019

"continue" targeting switch is equivalent to "break"

"continue" targeting switch is equivalent to "break"

PHP有一个经典错误,在switch方法里,使用了continue,就会报这样一个错: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? 在PHP中,switch循环语句里,不允许使用continue,

后端开发 11/10,2019

Laravel整合BootStrap等前端框架

Laravel整合BootStrap等前端框架

Laravel提供了对Bootstrap的支持,在Laravel 5.5之后的版本,预设了Bootstrap 4,我们无需再单独引入Bootstrap资源文件,便可在Laravel中引入Bootstrap。 1、Laravel 提供的引导和 vue 脚手架位于 laravel/ui composer 包中,可以使用 composer 进行安装: composer require larav

后端开发 09/15,2019

Windows安装Neo4j NoSQL图形数据库

Windows安装Neo4j NoSQL图形数据库

Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性

后端开发 08/10,2019