数据仓库-MySQL
文章平均质量分 82
jesseyoung
这个作者很懒,什么都没留下…
展开
-
MySQL用户及数据安全专题
1 简介 1.1 概要 1.2 权限分类2 添加用户 2.1 语法如下:CREATE USER user_specification [, user_specification] ...user_specification: user [ | IDENTIFIED WITH auth_plugin [AS 'auth_string'] IDENTIFIED BY [PASSWORD] 'password' ]原创 2014-07-22 22:50:19 · 2221 阅读 · 0 评论 -
MySQL分区表
1 分区表简介 数据库分区是一种物理数据库设计技术。虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减sql语句的响应时间,同时对于应用来说分区完全是透明的。 分区表是一种粗粒度,简易的索引策略,适用于大数据的过滤场景.最适合的场景是,没有合适的索引时,对其中几个分区表进行全表扫描.或者只有一个分区表和索引是热点,而且这个分区和索引能够全部存储在内存中.限制单表分区数不要超过150个,并且注意某些导致无法做分区过滤的细节,分区表对于单条记录的查询没有原创 2014-07-15 12:54:42 · 2455 阅读 · 0 评论 -
mysql查询语句-handler
1 简介 mysql除可使用select查询表中的数据,也可使用handler语句,这条语句使我们能够一行一行的浏览一个表中的数据,不过handler语句并不具备select语句的所有功能。它是mysql专用的语句,并没有包含到SQL标准中。 HANDLER语句提供通往表的直接通道的存储引擎接口,可以用于MyISAM和InnoDB表。2 基本语法 handler语原创 2014-11-04 14:57:09 · 11443 阅读 · 2 评论 -
MySQL内存表
1 内存表简介 MySQL的内存表,表结构创建在磁盘上,数据存放在内存中,所以当MySQL启动着的时候,这个表是存在的,数据也是存在的,当MySQL重启后,数据消失,表结构还存在(临时表表结构及数据都在内存中)。 内存表最大所需内存需要通过max_heap_table_size=1024M设定,临时表最大所需内存需要通过tmp_table_size = 1024M设定。当数据超过临时表的最大值设定时,自动转为基于磁盘的MyISAM表,存储在指定的tmpdir目录,此时因需要进行IO操作,性能原创 2014-07-18 16:03:38 · 6306 阅读 · 0 评论 -
MySQL表维护语句
1 简介 MySQL支持几条与维护和管理数据库相关的语句。例如:使用其中一条,可以修复一个损坏的表,使用另一条,可以检查一个表的索引是否正确。通常,数据库管理员而不是开发者使用这些语句。 这些语句包括: ANALYZE TABLE CHECK TABLE CHECKSUM TABLE OPTIMIZE TABLE REPAIR TABLE 这些语句组合在一起被称为:表维护语句。2 创建测试表原创 2014-07-28 13:20:43 · 2918 阅读 · 0 评论 -
MySQL两阶段提交
1 二阶段提交协议 一般分为协调器C和若干事务执行者Si两种角色: 当执行某一事务T的所有站点Si都通知C事务执行完成,C即启动二阶段提交协议。 1.首先C向所有Si发<prepare>消息(C先将<prepare>消息写到本机日志),Si收到<prepare>消息后,根据本机T的执行情况,如果成功返回<ready T>,不成功返回<abort T>。(返回前都应把要返回的消息写到日志里) 2.C收集完所有Si的返回消息后(或经过一个超时周期后),如果都返回的是<ready原创 2014-07-19 22:24:11 · 19254 阅读 · 0 评论 -
mysql查询语句select-limit使用详解
1 limit使用简介 limit子句是一个选择语句块的最后一个子句,它选取了行的一个子集,来限定中间结果的输出行数。limit子句表示了最前面和最后面被提取的行数。 通常情况下,Limit关键字可以接受一个或者两个数字参数。需要注意的是,这个参数必须是一个整数常量。如果用户给定两个参数,则第一个参数表示第一个返回记录行的偏移量,第二个参数则表示返回记录行的最大数据。另外需要提原创 2014-10-20 11:21:17 · 15572 阅读 · 0 评论 -
MySQL语句之describe,explain,help,use
1 创建测试表及数据create table utility_table( c1 int not null auto_increment, c2 varchar(10), c3 int(10), primary key(c1) )engine=innodb; insert into utility_table values('', 'name1', 001); insert into utility_table values('', 'na原创 2014-07-29 09:31:08 · 9109 阅读 · 0 评论 -
MySQL数据库备份还原(基于binlog的增量备份)
1 简介 1.1 增量备份简介 增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件。这就意味着,第一次增量备份的对象是进行全备后所产生的增加和修改的文件;第二次增量备份的对象是进行第一次增量备份后所产生的增加和修改的文件,如此类推。这种备份方式最显著的优点就是:没有重复的备份数据,因此备份的数据量不大,备份所需的时间很短。但增量备份的数据恢复是比较麻烦的。您必须具有上一次全备份和所有增量备份磁带(一旦丢失或损坏其中的一个增量,就会造成恢原创 2014-07-05 22:34:45 · 12746 阅读 · 1 评论 -
MySQL字符集专题(字符集,校对,乱码)
1 MySQL字符集简介 MySQL服务器可以支持多种字符集,在同一台服务器,同一个数据库,甚至同一个表的不同字段都可以指定使用不同的字符集,相比oracle等其他数据库管理系统,在同一个数据库只能使用相同的字符集,MySQL明显存在更大的灵活性。 MySQL的字符集包括字符集(CHARACTER)和校对规则(COLLATION)两个概念。字符集是用来定义MySQL存储字符串的方式,校对规则则是定义了比较字符串的方式,解决排序和字符分组的问题。字符集和校对规则是一对多的关系,每个字符集至少对原创 2014-07-02 16:40:22 · 5504 阅读 · 0 评论 -
MySQL运维-主从复制心跳(MASTER_HEARTBEAT_PERIOD)
1 心跳参数简介 设置复制心跳的周期,取值范围为0 到 4294967秒。精确度可以达到毫秒,最小的非0值是0.001秒。心跳信息由master在主机binlog日志文件在设定的间隔时间内没有收到新的事件时发出,以便slave知道master是否正常。 slave连接到master后,该参数可通过mysql.slave_master_info表查看。mysql> selec原创 2015-01-20 10:38:27 · 8392 阅读 · 0 评论 -
mysql主从复制-介绍
1 简介 Mysql Replication(MySQL主从复制)是MySQL数据库使用率非常高的一种技术,它使用某个数据库服务器为主,然后在其他数据库服务器上进行复制,后面复制的数据库也称从数据库。 MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。在设置链式复制服务器时,从服务器本身也可以充当主服务器,如:a->b->c,b原创 2014-12-15 13:09:54 · 2624 阅读 · 0 评论 -
mysql备份还原-xtrabackup2.2.3工具innobackupex脚本用法详解
1 简介 innobackupex工具是使用perl脚本对c程序xtrabackup的一个封装。它是oracle分发的innodb热备工具innobackup perl脚本文件的补丁版本。它通过整合xtrabackup以及其他函数,例如文件拷贝和流具有更多的功能,增加了便利性。它支持innodb/xtradb表,数据库定义,mysiam表的基于时间点的备份。2 先决条件 2原创 2014-12-20 21:09:40 · 4206 阅读 · 0 评论 -
MySQL Server参数优化 - innodb_file_per_table(独立表空间)
1 简介 Innodb存储引擎可将所有数据存放于ibdata*的共享表空间,也可将每张表存放于独立的.ibd文件的独立表空间。 共享表空间以及独立表空间都是针对数据的存储方式而言的。 共享表空间: 某一个数据库的所有的表数据,索引文件全部放在一个文件中,默认这个共享表空间的文件路径在data目录下。 默认的文件名为:ibdata1 初始化为10M。 独立原创 2014-12-29 12:42:18 · 25173 阅读 · 2 评论 -
mysql备份还原-centos6.5下安装xtrabackup2.2.3(二进制,源码包,rpm包安装方式汇总)
1 简介 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具MySQL Enterprise Backup(meb)的一个很好的替代品。 xtrabackup有两个主要的工具:innobackupex和xtrabackup,xtrabackup只能备份InnoDB和XtraDB数据表,innobackupex封装了x原创 2014-11-28 16:50:39 · 4165 阅读 · 0 评论 -
mysql主从复制-mysql5.6配置主从复制
1 简介 mysql复制的原理现阶段都是一样的,master将操作记录到bin-log中,slave的一个线程去master读取bin-log,并将他们保存到relay-log中,slave的另外一个线程去重放relay-log中的操作来实现和master数据同步。 基本介绍可参考我的文章:http://blog.csdn.net/jesseyoung/article/details/419424672 主机配置信息 2.1 相关配置介绍 开启二进制日志,建立主机唯一ser原创 2014-12-12 15:24:55 · 8908 阅读 · 0 评论 -
mysql主从复制-CHANGE MASTER TO 语法详解
1 简介 配置mysql主从复制时,在从机上需要进行CHANGE MASTER TO操作,以确定需要同步的主机IP,用户名,密码,binlog文件,binlog位置等信息。 主从同步的详细配置可参考我前面的文章【http://blog.csdn.net/jesseyoung/article/details/41894521】2 基本语法与实例 2.1 CHANGE MASTER TO的语法如下:CHANGE MASTER TO option [, option] ...op原创 2014-12-15 13:48:24 · 67230 阅读 · 2 评论 -
MySQL临时表
1 临时表简介 通常情况下我们创建的表具有一个较长的生命周期,它使用CREATE TABLE语句创建,我们也称之为持久表。而有时候我们需要临时表,来临时存储复杂的select语句结果。 临时表的生命周期较短,而且只能对创建它的session(当前连接)可见,当session退出时临时表被删除,也可使用drop table语句删除。在两个不同的链接里使用相同的临时表名不会产生冲突,它们只对当前session有效。 临时表的名字可以和一个已有的持久表的名字相同,持久表不会被删除,但会被当原创 2014-07-15 11:12:17 · 2913 阅读 · 0 评论 -
MySQL索引(index)专题
1 MySQL索引简介 索引(Index)是帮助MySQL高效获取数据的数据结构,它的存在形式是文件。索引能够帮助我们快速定位数据,它可以让mysql高效运行,大大提高mysql的查询(包括排序,分组)效率。 Mysql目前主要有以下几种索引类型(按存储结构划分):FULLTEXT,HASH,BTREE,RTREE。 对应存储引擎支持如下:原创 2014-07-22 10:56:27 · 4753 阅读 · 1 评论 -
MySQL语句之show
1 简介 SHOW有多种形式,可以提供有关数据库、表、列或服务器状态的信息。2 创建测试数据原创 2014-07-29 12:06:14 · 4892 阅读 · 0 评论 -
mysql语句-select...into outfile
1 简介 SELECT INTO…OUTFILE语句把表数据导出到一个文本文件中,并用LOAD DATA …INFILE语句恢复数据。但是这种方法只能导出或导入数据的内容,不包括表的结构,如果表的结构文件损坏,则必须先恢复原来的表的结构。 也可以将查询结果保存在变量中。2 语法结构SELECT[INTO OUTFILE 'file_name' [C原创 2014-11-21 12:12:57 · 17705 阅读 · 1 评论 -
mysql用户变量和set语句
1 用户变量介绍 用户变量即用户自己定义的变量,我们可以给用户变量分配值,并且可用在任何可以正常使用标量表达式的地方。 引入用户变量之前我们必须使用set语句或select语句来定义它,然后为它赋一个值,否则变量就只有一个空值。 用户变量与连接有关。也就是说,一个客户端定义的变量不能被其它客户端看到或使用。当客户端退出时,该客户端连接的所有变量将自动释放。2 用户原创 2014-11-04 09:29:32 · 47973 阅读 · 2 评论 -
mysql组合表表达式union,union distinct,union all详解
1 union简介 UNION属于集合运算符(set operator)允许我们把多个表表达式组合到一个复合表表达式中,它把一个表表达式的结果放在另一个表表达式的下面,在mysql数据库中提供了UNION和UNION ALL关键字,列于每个SELECT语句的对应位置的被选择的列应具有相同的类型。在第一个SELECT语句中被使用的列名称也被用于结果的列名称。 如果UNION不使用原创 2014-10-24 15:15:21 · 14329 阅读 · 0 评论 -
mysql运维-二进制日志BINARY LOG清理
1 几种方法 1.1 方法1:PURGE MASTER LOGS 语法:PURGE { BINARY | MASTER } LOGS{ TO 'log_name' | BEFORE datetime_expr } 实例:PURGE BINARY LOGS TO 'mysql-bin.000001';PURGE BINARY LOGS BEFORE '2原创 2014-11-10 12:28:27 · 22122 阅读 · 0 评论 -
C语言操作mysql范例(增删查改)
1 C语言连接mysql简介 C代码的API是随MySQL一起发布的. 它包含在mysqlclient库中, 可以使C程序来访问数据库. MySQL源码包中的许多客户端都是用C写的. 如果你正在找使用这些C API的例子, 可以看看客户端的写法.你可以在MySQL源码包的clients目录找到这些例子.2 测试环境 操作系统:Red Hat Enterprise原创 2014-10-22 10:08:12 · 14430 阅读 · 4 评论 -
go语言操作mysql范例(增删查改)
1 go语言连接mysql简介go官方仅提供了database package,database package下有两个包sql,sql/driver。这两个包用来定义操作数据库的接口,这就保证了无论使用哪种数据库,他们的操作方式都是相同的。但go官方并没有提供连接数据库的driver,如果要操作数据库,还需要第三方的driver 包,最常用的有:https://github.com/原创 2014-10-23 15:27:03 · 28841 阅读 · 0 评论 -
python操作mysql范例(增删查改)
1 python连接mysql简介 MySQLdb为Python提供了MySQL支持,它符合Python DB API版本2.0的要求,可在http://sourceforge.net/projects/mysql-python/上找到它。 用户手册参考地址:http://mysql-python.sourceforge.net/MySQLdb.html api参考地原创 2014-10-22 15:55:46 · 1994 阅读 · 0 评论 -
MySQL Cluster技术详解
1 MySQL Cluster简介 MySQL集群是一种在无共享架构(SNA,Share Nothing Architecture)系统里应用内存数据库集群的技术。这种无共享的架构可以使得系统使用低廉的硬件获取高的可扩展性。 MySQL集群是一种分布式设计,目标是要达到没有任何单点故障点。因此,任何组成部分都应该拥有自己的内存和磁盘。任何共享存储方案如网络共享,网络文件系统和SAN设备是原创 2014-08-21 10:42:53 · 7346 阅读 · 0 评论 -
MySQL事件(Event)
1 触发器简介 数据库服务器从本质上来说是被动的,我们使用一条sql语句显示的要求它,它才会执行一个操作。触发器就是要把一个被动的服务器编程一个主动的服务器。 触发器是存储在目录中的包含了过程式和声明式语句的一段代码,如果在数据库上执行了一个特定的操作,并且只有当某一条件成立的时候,数据库服务器才会激活它,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。 触发原创 2014-06-27 14:06:38 · 39249 阅读 · 4 评论 -
Mysql5.6安装-linux下安装二进制包
1 安装前准备清理系统自带或通过yum及apt-get安装的mysql相关文件,如/etc/my.cnf /etc/mysql/,否则安装过程中可能会遇到一些问题rm –rf /etc/my.cnf /etc/mysql/2 文件夹功能介绍解压缩后可以看到包换如下文件夹[root@localhost mysql -5.6.19-linux-glibc2.5-x86_64]#原创 2014-11-11 15:07:48 · 3762 阅读 · 0 评论 -
mysql安全-数据库审计(audit)
1 简介 数据库审计(简称DBAudit)能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断。它通过对用户访问数据库行为的记录、分析和汇报,用来帮助用户事后生成合规报告、事故追根溯源,同时加强内外部数据库网络行为记录,提高数据资产安全。 在MySQL数据库中(5.5版本),增加了一个新的插件:Audit原创 2014-11-14 12:26:05 · 17308 阅读 · 0 评论 -
mysql语句-load data infile
1 介绍 LOAD DATA INFILE 语句以很高的速度从一个文本文件中读取行到一个表中。它是SELECT ... INTO OUTFILE的一个补充,SELECT ... INTO OUTFILE是将表中的数据写到一个文件,LOAD DATA INFILE则是将文件内容导入表。二者都使用FIELDS及LINES语句,两个语句是可选的,同时出现的话FIELDS要在LINES前面。原创 2014-11-20 14:18:22 · 8688 阅读 · 0 评论 -
mysql备份还原-mysqldump实例
1 mysqldump简介 mysqldump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个SQL服务器(不一定是一个MySQL服务器)。转储包含创建表和/或装载表的SQL语句。 mysqldump可提供两种格式的文件输出,分别是sql格式的标准输出和文件分隔符形式的输出。也可直接在两个mysql数据库之间进行数据复制。2 相关参数介绍 参考我前面原创 2014-11-13 14:45:11 · 10177 阅读 · 0 评论 -
mysql查询语句select-having
1 having子句简介 一个选择语句块的having子句的目的和where子句类似。区别在于where子句用在from子句处理之后选择一行,而having子句用来在group by子句执行以后选择一行,即having是组从组中筛选,而where是从记录中筛选。一个having子句也可以脱离group by子句单独使用。 一般情况下having配合group by与原创 2014-10-16 14:20:37 · 4007 阅读 · 0 评论 -
mysql查询语句select-(null,not null,is null和is not null)
1 一些概念 1.1 null与not null null 和 not null是mysql的字段属性,或称为数据类型的属性,不属于任何类型。null值也不等同于空值,空值是不占用存储空间的,null占用存储空间,如对myisam表占用1bit额外存储空间。 1.2 is null与 is not null is null和 is not null是mysq原创 2014-10-17 17:13:37 · 35945 阅读 · 1 评论 -
mysql查询语句select-order by
1 order by简介 ORDER BY语句用于根据指定的列对结果集进行排序,默认按照升序对结果进行排序。也可显示指定升序(ASC)和降序(DESC)排列。如果select语句没有order by子句,其显示顺序是不可预料的,在select语句末尾添加一个order by子句,只是保证最终结果中的行按照一定的顺序排列。 根据排序的方式不同,可以分为按照列名排序,按照表达式排序原创 2014-10-17 11:10:56 · 5940 阅读 · 0 评论 -
mysql查询语句select-子查询
1 子查询定义 在一个表表达中可以调用另一个表表达式,这个被调用的表表达式叫做子查询(subquery),我么也称作子选择(subselect)或内嵌选择(inner select)。子查询的结果传递给调用它的表表达式继续处理。2 子查询分类 2.1 按返回结果集分类 子查询按返回结果集的不同分为4种:表子查询,行子查询,列子查询和标量子查询。原创 2014-10-15 11:41:14 · 57002 阅读 · 2 评论 -
mysql备份还原-mysqldump参数介绍
1 mysqldump简介 mysqldump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个SQL服务器(不一定是一个MySQL服务器)。转储包含创建表和/或装载表的SQL语句。 mysqldump可提供两种格式的文件输出,分别是sql格式的标准输出和文件分隔符形式的输出。也可直接在两个mysql数据库之间进行数据复制。2 相关参数介绍 2.1 几原创 2014-11-12 14:09:53 · 5889 阅读 · 0 评论 -
mysql备份还原-基于binlog的增量备份还原
1 简介基于binlog的恢复需要建立在全量备份恢复基础上。使用mysqldump的全量备份的方法在我前面的文章里有详细介绍,可以参考:http://blog.csdn.net/jesseyoung/article/details/41078947我们可以将增量的binlog备份下来,用来恢复增量数据。2 还原增量binlog的方法时间点的恢复建立在一下规则的基础上:1 mys原创 2014-11-17 16:43:22 · 12824 阅读 · 0 评论 -
mysql运维-lower_case_table_names(大小写敏感)
1 简介 在MySQL中,数据库对应数据目录中的目录。数据库中的每个表至少对应数据库目录中的一个文件(也可能是多个,取决于存储引擎)。因此,所使用操作系统的大小写敏感性决定了数据库名和表名的大小写敏感性。 在大多数Unix中数据库名和表名对大小写敏感,而在Windows中对大小写不敏感。一个显著的例外情况是Mac OS X,它基于Unix但使用默认文件系统类型(HFS+),对大原创 2014-10-30 11:31:49 · 67738 阅读 · 5 评论