
MySQL
文章平均质量分 69
allenhulove
这个作者很懒,什么都没留下…
展开
-
MySQL的Performance Schema库
Performance Schema是MySQL自带的、较为底层的性能监控特性,提供一系列、具备自定义收集粒度的监控体系。对MySQL服务执行过程中的各项事件(Events)的分析尤为重视Performance Schema的精细化控制,主要通过performance_schema库下的一系列setup表来实现(system@localhost) [(none)]> use pe...原创 2015-02-23 17:02:15 · 220 阅读 · 0 评论 -
MySQL复制特性通过XtraBackup创建Slave节点
1、创建完整备份[mysql@mysql1 ~]$ /data/mysqldata/scripts/mysql_full_backup_by_xtra.sh 2、复制和准备备份集[mysql@mysql1 mysql_full]$ scp xtra_fullbak_2014-07-10.tar.gz 192.168.1.202:`pwd`[mysql@mysql2 3307]$...原创 2015-02-20 08:52:55 · 157 阅读 · 0 评论 -
MySQL复制特性复制过滤规则
原有A库中的对象,复制到Slaves节点后,希望保存到B库中,MySQL提供了一个专用参数:replicate-rewrite-db=from_name->to_name库级过滤规则:Master节点在执行修改操作时,由--binlog-do-db或--binlog-ignore-db两个参数控制在指定的数据库中对象的变更事件是否记录到二进制日志文件中Slave节点在应用日志...原创 2015-02-20 08:52:24 · 253 阅读 · 0 评论 -
MySQL复制特性中继日志及状态文件
二进制日志文件用于保存节点自身产生的事件,中继日志文件中则是保存接收自其他节点的事件(也是二进制格式),中继日志文件默认保存在data目录下。Slave节点有两个线程,其中IO_THREAD线程用于接收和保存二进制日志,SQL_THREAD线程用于应用这些日志。中继日志文件的管理可以完全交由Slaves节点的SQL_THREAD线程来维护。除了中继日志文件外,复制环境中的Slave节点还会创建...原创 2015-02-20 08:51:20 · 536 阅读 · 0 评论 -
MySQL复制特性实施原理和关键因素
复制特性实施的核心,就是基于Master节点对数据库中各项变更的处理机制。二进制日志在记录事件时,支持多种格式,由binlog_format参数控制:SBL对应statement,RBL对应row,MBL对应mixed在MySQL5.6版本中,默认的日志记录格式是基于语句(Statement),一般会手动将其改为混合模式(Mixed),日志记录格式是由binlog_format系统...原创 2015-02-19 10:17:36 · 165 阅读 · 0 评论 -
MySQL复制特性管理命令
1.检查Slave节点的各个状态Slave>show slave status;重要指标Slave_IO_State:显示Slave当前的状态Slave_IO_Running:I/O线程是否在运行Slave_SQL_Running:SQL线程是否在运行Last_IO_Error/Last_SQL_Error:是否有错误信息Seconds_Behind_Mast...原创 2015-02-19 10:17:17 · 143 阅读 · 0 评论 -
MySQL复制特性基本思路
全新环境配置Replication:表示主从数据库服务均为全新,这种场景下的配置方案最为简单和灵活现有环境配置Replication:表示主数据库服务已有数据,这种情景下的配置就需要考虑多种因素为现有环境配置Replication复制,可以细分为:创建一台Slave:当前已有Master节点,需要配置Slave节点,以创建Replication复制环境增加一台Slave:当前已...原创 2015-02-19 10:17:01 · 124 阅读 · 0 评论 -
MySQL复制特性初体验
MySQL复制在处理数据时,有三种不同的模式:基于语句复制(Statement Based Replication):基于实际执行的SQL语句的模式方案,SBR基于记录复制(Row Based Replication):基于修改的列的复制格式,RBR基于上述两种方式混合的复制模式(Mixed Based Replication),MBR 数据复制模式跟日志文件记录格式相关...原创 2015-02-19 10:16:35 · 140 阅读 · 0 评论 -
Innobackupex自动化备份脚本
Innobackupex自动化备份脚本[mysql@mysql1 ~]$ more mysql_full_backup_by_xtra.sh #!/bin/bash#create by allensource /data/mysqldata/scripts/mysql_env.iniDATA_PATH=/data/mysqldata/backup/mysql_fullD...原创 2015-02-19 10:15:33 · 327 阅读 · 0 评论 -
XtraBackup与InnoBackupex 联机备份
XtraBackup联机备份:专注于InnoDB、XtraBackup的热备工具,是C语言开发的程序,专用于备份InnoDB及XtraDB引擎对象备份集高效、完整、可用备份任务执行过程中不会阻塞事务节省磁盘空间,降低网络带宽占用备份集自动验证机制恢复更快[root@mysql1 /]# rpm -ivh percona-xtrabackup-2.2.3-4982.e...原创 2015-02-18 11:22:21 · 154 阅读 · 0 评论 -
MySQL复制特性利用Slave节点创建备份
应用mysqldump创建备份在my.cnf文件中添加[mysqldump]user=systempassword=123456[client]user=systempassword=123456库级备份1.停止Slave服务中的SQL_THREAD线程2.记录当前接收和应用的二进制日志文件及位置3.执行备份命令4.再次记录当前接收和应用的二进制...原创 2015-02-20 08:53:48 · 195 阅读 · 0 评论 -
MySQL复制特性部署级联Slave
Slave节点在处理日志时的逻辑是这样的,本地产生的修改事件,写入二进制日志文件,不过解析自中继日志的修改事件,因为不是它自己产生的修改,默认情况下不会写入本地二进制日志文件。启用—log-slave-updates参数,即使是应用中继日志产生的数据库修改,也将会写到本地二进制日志文件中。修改RelaySlave节点的初始化参数文件,在[mysqld]区块中增加log-slave-update...原创 2015-02-20 08:54:44 · 194 阅读 · 0 评论 -
MySQL复制特性半同步机制
半同步机制:MySQL复制环境中的同步,默认采用异步的方式。从MySQL5.5开始提供半同步复制机制(Semisynchronous Replication)。Master在返回操作成功(或失败)信息给发起请求的客户端前,还是要将事务发送给Slave及诶单,Master节点只需要确认至少一个Slave接收到了事务,即可向发起请求的客户端返回操作成功的信息,Master节点不需要等待Slav...原创 2015-02-21 22:02:26 · 197 阅读 · 0 评论 -
了解MySQL系统状态
关注系统状态:mysql> show processlist; 这个命令用来获取当前所有连接的线程列表,将每一个连接的线程,作为一条独立的记录输出mysql> show full processlist;(system@localhost) [(none)]> show full processlist;+----+--------+-----------+-...原创 2015-02-22 16:30:27 · 150 阅读 · 0 评论 -
MySQL分析慢查询日志
分析慢查询日志:默认会将执行时间超过10秒的SQL语句记录在慢查询日志中使用mysqldumpslow命令,MySQL自带的工具,不大常用[mysql@mysql1 ~]$ mysqldumpslow -s c -t 1 /data/mysqldata/3306/slow_query.log-s t:按照总的查询时间排序-s at:按照平均查询时间排序-s l:按照总的...原创 2015-02-22 16:29:53 · 152 阅读 · 0 评论 -
简单参数优化案例
参数优化案例:1、服务器16G内存,峰值最大连接数为500个,使用MyISAM和InnoDB两种引擎。为操作系统预留20%内存,约3G2、与线程相关的几个关键参数sort_buffer_size=2Mread_buffer_size=2Mread_rnd_buffer_size=2Mjoin_buffer_size=2M峰值最大将占用500*(2+2+2+2)=...原创 2015-02-22 16:29:21 · 362 阅读 · 0 评论 -
MySQL参数配置优化
数据库参数配置优化:1、连接相关参数max_connections:指定MySQL服务端最大并发连接数,默认为151。一般将其设置为500~2000max_connect_errors:指定允许连接不成功的最大尝试次数,一般将其设置为10万以上的量级,一定不要忽略这个参数interactive_timeout和wait_timeout参数:这两个参数必须同时设置,设置的时长不要...原创 2015-02-22 16:28:36 · 149 阅读 · 0 评论 -
TPCC测试
压力测试是指在MySQL上线前,需要进行大量的压力测试,从而达到交付的标准。压力测试不仅可以测试MySQL服务的稳定性,还可以测试出MySQL和系统的瓶颈。TPCC测试:Transaction Processing Performance Council,要熟练使用TPC是一系列事务处理和数据库基准测试的规范。其中TPC-C是针对OLTP的基准测试模型,一方面可以衡量数据库的性能,另一...原创 2015-02-22 16:27:58 · 2369 阅读 · 0 评论 -
MySQL自带轻量压测工具mysqlslap
一款MySQL自带的专用轻量压测工具:mysqlslap--query:测试要执行的sql语句--number-of-queries:指定测试要执行sql语句执行的请求数-c,concurrency:指定测试执行请求的并行度-i,--iterations:指定测试运行的次数--create-schema:指定此次测试在哪个schema下执行[mysql@mysql1 ~...原创 2015-02-21 22:04:29 · 275 阅读 · 0 评论 -
使用mysqladmin获取性能指标
[mysql@mysql1 ~]$ mysqladmin -usystem -p123456 -S /data/mysqldata/3306/mysql.sock extended-status -r -i 1 | grep "Questions"| Questions | 23 || Quest...原创 2015-02-21 22:03:47 · 218 阅读 · 0 评论 -
MySQL数据库性能指标
关键性指标:1.IOPS(Input/Output operations Per Second)每秒处理的I/O请求次数IOPS指标比较高的话,就更适合要求快速响应的系统,尤其是对于短连接、小事务、轻量数据为操作特点的OLTP系统传统磁盘完成一个I/O请求所花费的时间受3个方面因素的影响:寻道时间(Tseek):将磁头移动到数据所在磁道上所需要的时间,通常为3~15ms旋转...原创 2015-02-21 22:03:23 · 1043 阅读 · 0 评论 -
MySQL复制特性复制环境中的故障切换
复制环境中的故障切换:第一时间检查Slave1~3各节点状态信息(通过show slave status),重点关注当前读取的Master节点日志文件和读取位置(Master_Log_File和Read_Master_Log_Pos),已经执行过的日志位置(Exec_Master_Log_Pos),Slave节点IO和SQL线程运行状态(Slave_IO_Running和Slave_SQL...原创 2015-02-21 22:02:55 · 171 阅读 · 0 评论 -
冷备、增量备份和备份恢复策略
冷备、增量备份和备份恢复策略:创建冷备份关闭MySQL数据库备份mysql数据目录,复制/data/mysqldata/3306目录到备份路径启动MySQL数据库创建增量备份MySQL中的增量备份及恢复,必须借助二进制日志实现,必须在MySQL服务启动时指定--log-bin参数,二进制日志被输出到/data/mysqldata/3306/binlog目录下。所谓增量备份...原创 2015-02-18 11:21:46 · 431 阅读 · 0 评论 -
mysqldump自动化备份脚本
在my.cnf文件中添加[mysqldump]user=systempassword=123456[client]user=systempassword=123456库级备份[mysql@mysql1 scripts]$ more /data/mysqldata/scripts/mysql_full_backup.sh#!/bin/bash#create...原创 2015-02-18 11:21:28 · 243 阅读 · 0 评论 -
恢复mysqldump创建的备份集
恢复mysqldump创建的备份集:SQL格式恢复先创建表结构方法一:[mysql@mysql1 ~]$ mysql -usystem -p123456 -S /data/mysqldata/3306/mysql.sock hugc</data/mysqldata/backup/hugc_fullbak.sql方法二:(system@localhost) [(no...原创 2015-02-18 11:21:05 · 91 阅读 · 0 评论 -
MySQL管理员口令丢失
MySQL官方给出了两种非常规方式重置系统管理账户两种方法:1.启动MySQL服务时附加参数(--init-file),使其执行含有密码重置的脚本,达到修改账户密码的目的2.启动MySQL服务时通过附加特殊的参数,使其跳过权限验证,而后登录数据库中重置密码后,再按照正常的方式重启MySQL服务 找到mysqld主进程后杀掉该进程[mysql@mysql1 ~]$ kill ...原创 2015-02-15 08:37:01 · 175 阅读 · 0 评论 -
MySQL历史文件
在Linux/UNIX系统下,使用mysql命令行工具执行的所有操作,都会被记录到一个名为.mysql_history的文件,默认保存在当前用户的根目录下两种方案:第一种修改操作系统层的MYSQL_HISTFILE环境变量,将其值改为/dev/null,这样所有操作都会被输出到空第二种保留.mysql_history文件,做一个软连接$ln -f -s /dev/null ~/...原创 2015-02-15 08:36:44 · 242 阅读 · 0 评论 -
MySQL数据库中的权限体系
MySQL数据库验证权限有3个维度:我是谁、从哪里来、到那里去哲学家探究人生的终极命题 能不能连接:在MySQL数据库中验证用户,需要检查3项值:用户名、用户密码和来源主机。分别对应mysql库中的user表的user、password和host三列 能不能执行操作:连接到数据库之后,能不能执行操作,比如说建库、建表、改表、查询或修改数据等,除了mysql.user...原创 2015-02-15 08:36:31 · 156 阅读 · 0 评论 -
管理MySQL库与表
MySQL中的表对象是基于库维护的,表属于某个库,不管对象是由谁创建的,只要库在,表就在。每个MySQL数据库都是由多个数据库组成的(一经创建,默认至少就得有4个),而Oracle中的数据库则是一个整体。information_schema:记录用户、表、视图等元数据信息,提供类似oracle数据字典的功能,类似于oracle数据库中的system表空间。是虚拟出来的库,由mysql实例构...原创 2015-02-15 08:36:07 · 170 阅读 · 0 评论 -
MySQL服务管理配置
创建管理脚本$vim /data/mysqldata/scripts/mysql_env.ini#set envMYSQL_USER=systemMYSQL_PASS=123456#check_parameterif [ $# -ne 1 ] --$# 表示参数个数then HOST_PORT=3306else H...原创 2015-02-14 10:10:47 · 125 阅读 · 0 评论 -
创建数据库服务
创建数据库服务:建议跟MySQL服务相关的操作(数据库服务启动、关闭、维护等)均在mysql用户下执行1.创建目录#mkdir /data#cd /data/#mkdir –p /data/mysqldata/{3306/{data,tmp,binlog},backup,scripts}#chown –R mysql:mysql mysqldata#su – mysq...原创 2015-02-14 10:08:14 · 201 阅读 · 0 评论 -
MySQL数据库基本概念
基本概念:MySQL数据库服务:是MySQL软件、MySQL实例和MySQL数据库几个部分的总称 MySQL实例:是mysqld进程以及该进程持有的内存资源 MySQL数据库:是一系列物理文件的集合,称为MySQL data目录。一个MySQL数据库可以创建多个DB,默认情况下至少会有4个DB(test、mysql、information_schema,performanc...原创 2015-02-14 09:41:16 · 684 阅读 · 0 评论 -
源码方式安装MySQL常用参数
常见参数官方文档http://dev.mysql.com/doc/refman/5.6/en/environment-variables.html 常用的参数如下:-DCMAKE_INSTALL_PREFIX:用于指定软件的安装路径,默认是/usr/local/mysql-DDEFAULT_CHARSET:指定MySQL服务的默认字符集-DDEFAULT_COLLATIO...原创 2015-02-14 09:39:02 · 170 阅读 · 0 评论 -
源码编译方式安装MySQL步骤
安装包下载地址http://dev.mysql.com/downloads/mysql/http://www.mysql.com/downloads/mysql/mysql-5.5.28.tar.gz mysql-5.6.16.tar.gz 1.安装CMake源码编译配置工具#yum install cmake#useradd mysql 2.创建操...原创 2015-02-14 09:37:25 · 321 阅读 · 0 评论 -
MySQL字符集
字符集就是指符号和字符编码的集合用户可以在服务器、数据库、表甚至列一级进行设置校对规则就是指定义的一种比较字符集中字符的规则查看数据库支持的字符集:(system@localhost) [(none)]> show character set;最常用的字符集GBKGB2312UTF8某个字符集支持哪些校对规则:(system@localhost) ...原创 2015-02-15 08:37:20 · 77 阅读 · 0 评论 -
MEMORY,CSV,ARCHIVE,BLACKHOLE,MERGE,FEDERATED存储引擎
MEMORY存储引擎:(system@localhost) [mysql]> create table t_mem1(id int) engine=memory;MEMORY存储引擎的表只拥有一个独立的磁盘文件,扩展名为.frm,用来存储表结构的定义。MEMORY引擎表能够使用的最大内存空间不超过max_heap_table_size系统变量设定的值,该变量默认情况下是16M...原创 2015-02-16 12:23:41 · 215 阅读 · 0 评论 -
MySQL存储引擎
MySQL是Pluggable Storage Engines插件式存储引擎是一种数据存取和处理方式查看当前MySQL数据库支持什么引擎:(system@localhost) [(none)]> show engines;Engine:存储引擎名Support:当前是否支持Commnet:注释信息Transactions:是否支持事务XA:是否支持分布式事...原创 2015-02-16 12:24:48 · 82 阅读 · 0 评论 -
使用mysqldump命令行工具创建逻辑备份
mysqldump命令创建的是逻辑备份,结果集有两种格式:一种是将数据转换成标准的SQL语句(一堆CREATE,DROP,INSERT等语句),另一种是将数据按照指定分隔符,输出成定界格式的平面文件。[mysql@mysql1 ~]$ mysqldumpusage: mysqldump [OPTIONS] database [tables]OR mysqldump [OPT...原创 2015-02-18 11:20:41 · 126 阅读 · 0 评论 -
使用mysqlhotcopy命令行工具创建备份
使用mysqlhotcopy命令行工具创建备份:mysqlhotcopy是一段Perl语言编写的脚本,将FLUSH TABLES,LOCK TABLES以及cp/scp等命令封装调用,能够直接对数据库或某些指定的表对象创建备份,方便用户执行mysqlhotcopy只用于MyISAM和ARCHIVE引擎的表对象,不能适用于InnoDB表对象[mysql@mysql1 ~]$ mysq...原创 2015-02-17 09:11:04 · 252 阅读 · 0 评论 -
MySQL数据导出与导入
利用CSV存储引擎加载数据:mysql>create table ld_csv1(id int not null default ‘0’,username varchar(5) not null,city varchar(6) not null,email varchar(50) not null) engine=csv default charset=UTF8;$more /t...原创 2015-02-17 09:10:38 · 128 阅读 · 0 评论