MySQL数据库复制Master Slave架构分析
为了应用系统的可伸缩性,往往需要对数据库进行scale out设计,scale out设计也就是通过增加数据库处理节点来提高系统整体的处理能力,即增加数据库服务器的数量来分担压力。通过这种方式系统的伸缩性增强了,成本也降低了,但是系统的架构负责了,维护困难了。难免出现系统的宕机或故障。因此,理论上来说,系统的安全性(可能数据丢失)降低了,可用性也降低了。那么要提高数据安全性,以及系统的高可用性,很简单的办法就是所有软硬件都避免单点隐患,所有数据都保存多份。从技术上来说,就可以通过数据库复制技术实现。MySQL的Replication技术就是数据库复制的实现手段之一。
关于MySQL的Replication,有几种可选的架构方案,如常规的复制架构Master-Slave方案,Dual Master架构方案,以及级联复制架构方案,今天重点看看最简单的Master-Slave方案,其架构图如下所示:
这种架构方案,也就是一台MySQL服务器作为主服务器,主要负责应用客户端的写数据处理,同时供其他的一些作为Slave的MySQL服务器复制数据的源。而那些Slave服务器上的数据都是master服务器数据的完全备份,相对实时备份,这些备份数据主要供应用客户端的读数据使用,因为一般应用系统的读数据的压力都比写数据的压力大,特别是web应用系统。
相关文档:
上篇我们学会了如何创建一个数据库和数据库表,并知道如何向数据库表中添加记录。
那么我们如何从数据库表中检索数据呢?
1、从数据库表中检索信息
实际上,前面我们已经用到了SELECT语句,它用来从数据库表中检索信息。
select语句格式一般为:
SELECT 检索关键词 from 被检索的表 WHERE 检索条件( ......
修改和备份、批处理
有时我们要对数据库表和数据库进行修改和删除,可以用如下方法实现:
1、增加一列:
如在前面例子中的mytable表中增加一列表示是否单身single:
mysql> alter table mytable add column single char(1);
2、修改记录
将abccs的single记录修改为“y”:
mysql> ......
远程连接mysql速度慢的解决方法
http://www.xishuiw.com
PHP 远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS系统下)或MY.CNF(UNIX或LINUX系统下)文件的[mysqld]下加入skip- name-resolve这一句。连接mysq ......
mysql
有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的,为了开启这个功能,要修改my.cnf或者在mysql
启动的时候加入一些参数。
如果在my.cnf里面修改,需增加如下几行
long_query_time = 10
log-slow-queries =
long_query_time
是指执行超过多久的sql会被log下来,这里是10秒。
log-slo ......