MySql入门基础知识

简介:MySql是开源免费的关系型数据库


1.MySql复制原理:

    分类方式:Master/slave复制模式,Master中写BinLog日志,Master读取log文件,构建索引

                        Slave从Master中复制BinLog日志,循环写入ReplayLog日志当中,作用与BinLog相同,构建索引

   BinLog复制方式:

                        SBR:statement Based (SQL重写复制) ,优点带宽消耗少,看到原始sql

                        RBR:Row Based  (行复制,直接复制数据) .优点数据一致性高,直接更新数据,无需查询

   Mysql复制架构图:三种模式

                        Master-slave模式

                   

                        Master-Master模式

                         

                        Ring模式

                          

                        Pyramid模式

                           

2.Mysql数据安全性保证

               2.1:应用容灾(多点写入,日志恢复)
               2.2:数据库硬容灾(高可用的昂贵存储设备)
               2.3:数据库软容灾(DRBD,Semi-replication)  半同步复制在Mysql5.5版本开始应用

3.Mysql处理模块图
                 
                3.1:连接模块
                         |-->连接管理
                         |-->连接进程
                3.2命令解析模块
                         |-->命令分发器
                         |-->命令解析器
                                      |-->select
                                      |-->DML
                                      |-->DDL
                                      |--->status
                3.3表管理模块
                3.4存储引擎接口

                                     |-->MyIsam:–支持表锁,全文检索

                                     |-->InnoDB:支持事务特性,支持四种事务级别,支持行锁

                                     |-->BDB:支持commit,rollback,可替换InnoDB

                                     |-->others

4.Mysql索引 :加速select索引,但是增加磁盘究竟开销

               4.1 Btree索引:

                         构建索引:  KEY `index1` using btree (`a`,`b`,`c`)

                         a.最左原则:最左端的索引为a 

                                select d from test where a=?  (正确)
                                select d from test where b=?  (错误)

                         b.尽量避免回表: 索引构建过程中,回表很难避免,做到尽量即可

                                select b from test where a=?    (正确)
                                select d from test where a=?    (错误)

                              

               4.2 Hash索引:查询条件尽量包含所有索引字段

                         构建索引:KEY `index1` using hash (`a`,`b`)

                                    select d from test where a=? and b=?  (正确)

                                    select d from test where a=?                  (错误)

               4.3 FullText索引(倒排索引)

               4.4 聚簇索引

                          直接存储页,索引项排序与数据行存储一致,主键缺省使用


5.Mysql监控

             5.1Mysql监控: 

                        a.Mysql线程监控

                        b.错误日志监控

                        c.slow-queries慢语句监控

             5.2 InnoDB监控

                        a.表空间监控

                        b.逻辑读监控

                        c.物理读监控

              5.3 RIAD卡充放电实时监控


6.数据库三范式

6.1:基本符合1范式

6.2:二范式解决部分依赖

6.3:三范式解决传递依赖

你可能感兴趣的:(sql,mysql,数据库,存储,引擎)