MySQL基本原理
第一页,共21页。
内容概要
1. MySQL体系架构
2. InnoDB特点
3. MySQL高级调优
4. MySQL复制原理
5. MySQL高级备份
6. MySQL关键代码实现分析
第二页,,就会回写到磁盘。如果这个值太大,每次关闭就会有很多脏页需要回写。
第十四页,共21页。
编译参数调优
GCC参数(以Xeon 55XX系列64位系统为例)
CXX=gcc CHOST=”x86_64-pc-linux-gnu”
CFLAGS=”-O3 -fomit-frame-pointer -pipe -march=nocona -mfpmath=sse -m128bit-long-double -mmmx -msse -msse2 -maccumulate-outgoing-args -m64 -ftree-loop-linear -fprefetch-loop-arrays -freg-struct-return -fgcse-sm -fgcse-las -frename-registers -fforce-addr -fivopts -ftree-vectorize -ftracer -frename-registers -minline-all-stringops -fbranch-target-load-optimize2″
CXXFLAGS=”${CFLAGS}”
MySQL参数
./configure –prefix=/usr/alibaba/install/mysql-ent-official- –with-server-suffix=alibaba-mysql –with-mysqld-user=mysql –with-plugins=partition,blackhole,csv,heap,innobase,myisam,myisammrg –with-charset=utf8 –with-collation=utf8_general_ci –with-extra-charsets=gbk,gb2312,utf8,ascii –with-big-tables –with-fast-mutexes –with-zlib-dir=bundled –enable-assembler –enable-profiling –enable-local-in –with-readline –with-pthread –with-embedded-server –with-client-ldflags=-all-static –with-mysqld-ldflags=-all-static –without-query-cache –without-geometry –without-debug –without-ndb-debug
详细参考:《适合MySQL的Xeon 55XX系列CPU编译参数》
第十五页,共21页。
MySQL复制原理
MySQL Replication的基本原理是通过binlog复制应用的方式来还原数据。
MySQL通过Server_id来识别binlog由哪台主机产生,因此即使双Master复制,也不会出现binlog被重复应用
复制线程分为Slave IO和Slave SQL两个,Slave IO线程只负责注册到Master上,读取binlog,然后解析到本地,Slave SQL线程只负责把Slave IO线程产生的可执行SQL应用到本地。
避免主键冲突,MySQL提供了auto_increment_increment和auto_increment_offset来控制主键生成的序列,只要双Master的两台主机没有相同的序列,就绝对不可能复制冲突。
第十六页,共21页。
MySQL高级备份
Xtrabckup物理热备份InnoDB数据:
“innobackupex /data/backups” 就可以创建一个备份到/data/backups目录下,只要看到 “completed OK!” 就是备份成功。
Xtrabckup物理恢复InnoDB数据:
“Innobackupex --apply-log /data/backups/2010-09-08_11-25-44/”,将数据文件处理为可以直接copy的内容
“Innobackupex –copy-back/data/backups/2010-09-08_11-25-44/”,将数据文件拷贝到datadir,从而恢复数据
原理:Xtrabckup启动时,会对数据库加一个瞬时的锁,此时开始,数据库发生的所有redo log和undo space都会被X
mysql基本原理 来自淘豆网m.daumloan.com转载请标明出处.