随笔分类 -  MySQL

记录MySQL的学习和使用的所得所感
摘要:基本配置: datadir:指定mysql的数据目录位置,用于存放mysql数据库文件、日志文件等。 配置示例:datadir=D:/wamp/mysqldata/Data default-character-set:mysql服务器默认字符集设置。 配置示例:default-character-s 阅读全文
posted @ 2017-03-26 22:39 疯一样的狼人 阅读(6398) 评论(0) 推荐(2) 编辑
摘要:本文主要以“一个主库,两个备库”代表“一个主库,多个备库”的拓扑结构来展示MySQL复制的实践过程。 拓扑结构: 主库创建复制账号: grant replication slave,replication client on *.* to 'Jet'@'192.168.0.%' identified 阅读全文
posted @ 2017-03-09 23:04 疯一样的狼人 阅读(266) 评论(0) 推荐(0) 编辑
摘要:一、MySQL复制概述 MySQL支持两种复制方式:基于行的复制和基于语句的复制(逻辑复制)。这两种方式都是通过在主库上记录二进制日志、在备库重放日志的方式来实现异步的数据复制,其工作原理如下图: 同一时间点主库和备库的数据可能存在不一致。复制通常不会增加主库的开销,主要是启用二进制日志带来的开销。 阅读全文
posted @ 2017-03-08 23:34 疯一样的狼人 阅读(315) 评论(0) 推荐(0) 编辑
摘要:一、视图的概念 视图本身是一个虚拟表,不存放任何数据,在使用sql语句访问视图的时候,它返回的数据是MySQL从其他表中生成的。 二、实现视图的算法 1. 临时表算法: 实现视图最简单的方法是将select语句的结果存放在临时表中,当需要访问视图的时候直接访问这个临时表就可以了。(有明显的性能问题, 阅读全文
posted @ 2017-02-15 22:34 疯一样的狼人 阅读(804) 评论(0) 推荐(0) 编辑
摘要:一、分区表 1. 什么是分区表? 对用户来说,分区表是一个独立的逻辑表,但是底层由多个物理子表组成(所以索引也是按照分区的子表定义的,而没有全局索引)。实现分区的代码实际上是对一组底层表的句柄对象的封装。对分区表的请求,都会通过句柄对象转化成对存储引擎的接口调用。 MySQL在创建表时,使用part 阅读全文
posted @ 2017-02-15 22:12 疯一样的狼人 阅读(2778) 评论(0) 推荐(0) 编辑
摘要:一、MySQL查询执行基础 1. MySQL查询执行流程原理 <1> 客户端发送一条查询给服务器。 <2> 服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。 <3> 服务器进行SQL解析、预处理,再由优化器生成对应的执行计划。 <4> MySQL根据优化器生成的 阅读全文
posted @ 2017-02-13 21:12 疯一样的狼人 阅读(938) 评论(0) 推荐(0) 编辑
摘要:一、索引基础 1. B-Tree索引 <1> 所有的值都是按顺序存储的,并且每一个叶子页到根的距离相同。 <2> 顺序组织存储,很适合查找范围数据,效率会非常高。 <3> 可以有效使用B-Tree索引的查询:全值匹配、匹配最左前缀、匹配列前缀、匹配范围值、精确匹配某一列并范围匹配另一列、只访问索引的 阅读全文
posted @ 2017-02-11 21:48 疯一样的狼人 阅读(490) 评论(0) 推荐(0) 编辑
摘要:一、逻辑备份和恢复 在MySQL中,逻辑备份的最大优点是对于各种存储引擎,都可以用同样的方法来备份;而物理备份则不同,不同的存储引擎有着不同的备份方法。因此,对于不同存储引擎混合的数据库,用逻辑备份会更简单一些。 1. 逻辑备份: MySQL中的逻辑备份是将数据库中的数据备份为一个文本文件,在MyS 阅读全文
posted @ 2016-10-21 22:00 疯一样的狼人 阅读(590) 评论(0) 推荐(0) 编辑
摘要:在MySQL中,有4种不同的日志,分别是错误日志、二进制日志(BINLOG日志)、查询日志和慢查询日志。 一、错误日志 错误日志记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,可以首先查看此日志。 可以用--log-err 阅读全文
posted @ 2016-10-21 13:58 疯一样的狼人 阅读(265) 评论(0) 推荐(0) 编辑
摘要:MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY存储引擎采用的是表级锁;BDB存储引擎采用的是页面锁,但也支持表级锁;InnoDB存储引擎既支持行级锁,也支持表级锁,但默认情况下采用行级锁。 MySQL这3种锁的特性可大致归纳如下: (1) 阅读全文
posted @ 2016-10-13 23:41 疯一样的狼人 阅读(506) 评论(0) 推荐(0) 编辑
摘要:1. 优化表的数据类型 在MySQL 中,可以使用函数PROCEDURE ANALYSE()对当前应用的表进行分析,该函数可以对数据表中列的数据类型提出优化建议,用户可以根据应用的实际情况酌情考虑是否实施优化。 使用方法: SELECT * FROM tbl_name PROCEDURE ANALY 阅读全文
posted @ 2016-10-07 23:53 疯一样的狼人 阅读(265) 评论(0) 推荐(0) 编辑
摘要:一、优化SQL语句的一般步骤 1. 通过show status命令了解各种SQL的执行频率 mysqladmin extended-status 或: show [session|global]status 参数解析: session表示当前连接的统计结果,global表示自数据库上次启动至今的统计 阅读全文
posted @ 2016-10-07 19:57 疯一样的狼人 阅读(303) 评论(0) 推荐(0) 编辑
摘要:所有MySQL列类型都可以被索引,对相关列使用索引是提高SELECT操作性能的最佳途径。根据存储引擎可以定义每个表的最大索引数和最大索引长度,每种存储引擎(如MyISAM、InnoDB、BDB、MEMORY 等)对每个表至少支持16个索引,总索引长度至少为256 字节。 一、索引创建、查询与删除 1 阅读全文
posted @ 2016-10-07 14:54 疯一样的狼人 阅读(375) 评论(0) 推荐(0) 编辑
摘要:一、数值类型 1. 对于整型数据,Mysql支持在类型名称后面的小括号内指定显示宽度,如果不指定则默认为int(11),一般配合zerofill使用,数字位数不够的空间使用字符 “0”填满。字段定义示例:phone int zerofill; 2. 如果一个列指定为zerofill,则Mysql自动 阅读全文
posted @ 2016-09-07 22:05 疯一样的狼人 阅读(336) 评论(0) 推荐(0) 编辑
摘要:MySQL存储引擎主要有两大类: 1. 事务安全表:InnoDB、BDB。 2. 非事务安全表:MyISAM、MEMORY、MERGE、EXAMPLE、NDB Cluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等。 MySQL默认的存储引擎是MyISAM(5.7版本中默认 阅读全文
posted @ 2016-08-28 23:33 疯一样的狼人 阅读(445) 评论(0) 推荐(0) 编辑
摘要:一、MySQL权限分两阶段验证 1. 服务器检查是否允许连接:用户名、密码,主机地址。 2. 检查每一个请求是否有权限实施。 二、MySQL权限列表 权限 权限级别 权限说明 create 数据库、表或索引 创建数据库、表或索引权限 drop 数据库或表 删除数据库或表权限 grant option 阅读全文
posted @ 2016-08-17 23:01 疯一样的狼人 阅读(1820) 评论(0) 推荐(1) 编辑
摘要:本文记录的是windows7系统下Mysql的命令行基本操作。 一、MySQL启动与登录 1. MySQL启动: 通过运行mysql安装目录下的/bin/mysqld.exe文件来启动Mysql服务。在命令行中进入mysql安装目录下的bin目录,执行命令: mysqld --defaults-fi 阅读全文
posted @ 2016-08-15 23:22 疯一样的狼人 阅读(1301) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示