MySQL主从复制是MySQL优化的重点之一,可解决数据分布,负载均衡,备份,以及实现数据库的高可用性和容错性,本篇介绍MySQL双主热备,实现互为主从。主服务器用于写数据,从服务器监听主服务器中的二进制日志,从而来实现主从复制。
后端开发 02/21,2020
Redis Cluster提供了一种运行Redis安装的方法,在该安装中,数据会 在多个Redis节点之间自动分片。Redis Cluster 在分区期间还提供了一定程度的可用性,这实际上是在某些节点出现故障或无法通信时继续操作的能力。但是,如果发生较大故障(例如,大多数主服务器不可用时),集群将停止运行。Redis Cluster自动分割在多个节点之间的数据集,一部分节点出现故障或无法与集群的其余部分通信时,继续运行的能力。
运维技术 02/08,2020
Supervisor是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动重启。在PHP框架Laravel中,提供了对队列的支持,要让队列监听常驻内存,就需要借助Supervisord守护进程工具,同时,解决使用了Supervisor后,Laravel队列被重复执行的问题。
运维技术 01/21,2020
MySQL用mysqldump命令实现数据库备份,需将密码明文方式显示在命令上,但在运行时会报错:mysqldump: [Warning] Using a password on the command line interface can be insecure.这是mysql的登录安全机制,那么我们如何在mysqldump命令中明文传输密码并实现备份呢?
后端开发 12/28,2019
之前有介绍过使用官方镜像构建php环境,多个容器相关联,虽然能达到效果,但是效率却降低了一半,如果需要在多台服务器上构建环境,都需要重复去pull镜像,运行关联容器,为了方便克隆,我试着写了个简单的dockerfile,包括了php、nginx、git以及composer基础环境。
运维技术 12/15,2019
SQL注入是最严重,也是最常见的漏洞之一,开发人员在处理程序与数据库交互时,如果未对数据进行严格的校验防护,会出现非常严重的安全隐患,SQL注入的攻击方式有报错注入、普通注入、隐式类型注入、盲注、宽字节注入、二次解码注入,这里主要记录下MySQL隐式注入。
后端开发 12/05,2019
PHP配置文件中的disable_functions选项能够在PHP中禁用指定的函数。PHP中有很多危险的内置功能函数,如果使用不当,可造成系统崩溃。禁用函数可能会为研发带来不便,但禁用的函数太少又可能增加研发人员写出不安全代码的概率,同时为黑客非法获取服务器权限提供遍历。在PHP配置文件中添加需要禁用的函数可以有效避免webshell。
后端开发 11/17,2019
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 5.5之后的版本,预设了Bootstrap 4,我们无需再单独引入Bootstrap资源文件,便可在Laravel中引入Bootstrap。 1、Laravel 提供的引导和 vue 脚手架位于 laravel/ui composer 包中,可以使用 composer 进行安装: composer require larav
后端开发 09/15,2019
Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性
后端开发 08/10,2019