Mysql主主复制架构配置

        MySQL主主复制结构区别于主从复制结构。在主主复制结构中,两台服务器的任

        何一台上面的数据库存发生了改变都会同步到另一台服务器上,这样两台服务器

        互为主从,并且都能向外提供服务。 这就比使用主从复制具有更好的性能。

阅读全文 >>

Mysql binlog 日志的三种模式

        Row Level:日志中会记录成每一行数据被修改的形式,然后在slave端再对相同的数据进行修改。

        优点:在row level模式下,bin-log中可以不记录执行的sql语句的上下文相关的信息,仅仅只需要记录那一条记录被修改了,修改成什么样了。所以row level的日志内容会非常清楚的记录下每一行数据修 改的细节,非常容易理解。而且不会出现某些特定情况下的存储过程,或function,以及 trigger的调 用和触发无法被正确复制的问题。

阅读全文 >>

SQL—什么是事物?事物的特性有哪些?

概念

        事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。

阅读全文 >>

使用mysql-proxy 快速实现mysql 集群读写分离

        目前较为常见的mysql读写分离分为两种:

  1. 基于程序代码内部实现:在代码中对select操作分发到从库;其它操作由主库执行;这类方法也是目前生产环境应用最广泛,知名的如DISCUZ X2。优点是性能较好,因为在程序代码中实现,不需要增加额外的设备作为硬件开支。缺点是需要开发人员来实现,运维人员无从下手。

  2. 基于中间代理层实现:我们都知道代理一般是位于客户端和服务器之间,代理服务器接到客户端请求后通过判断然后转发到后端数据库。在这有两个代表性程序

阅读全文 >>

mysql登录

        mysql服务启动时,不仅会监听 IP:Port,还会监听一个socket。我们安装的mysql是监听在/tmp/mysql.sock。如果php是在本地,那么php和mysql通信可以通过socket通信,如果是远程,就需要通过tcp/ip来通信了。在Linux命令行下,可以通过如下方法来连接mysql服务器。

阅读全文 >>

mysql 主从同步问题集

        在InnoDB引擎下发现,Mysql的主从热备存在数据不一致的问题,一些数据没有成功同步到备机。在use databases后,更新的表必须是当前选择的database才同步。譬如连上Mysql服务后操作:

1
2
USE test2;
UPDATE client SET name='test' WHERE uid=1;

阅读全文 >>