mysql
文章平均质量分 93
youbo_sun
涉足机器学习、区块链、大数据、数据分析、系统开发和架构
展开
-
数据库定期备份shell
#!/bin/bashsource /etc/profileTODAY_DIR=`date +%Y%m%d`;Olddir=`date +%Y%m%d --date='7 days ago'`;cd /home/database_backup/if [ -f $Olddir ]; thenrm -rf $Olddirfiif [ ! -d $TODAY_DIR ];原创 2015-07-09 11:08:24 · 395 阅读 · 0 评论 -
数据列存储和行存储
一.结构布局行存储数据排列列存储数据排列 表格的灰色背景部分表示行列结构,白色背景部分表示数据的物理分布,两种存储的数据都是从上至下,从左向右的排列。行是列的组合,行存储以一行记录为单位,列存储以列数据集合单位,或称列族(column family)。行存储的读写过程是一致的,都是从第一列开始,到最后一列结束。列存储的读取是列数据集中的一段或者全部数据,写入时,一行记录被拆转载 2015-08-20 10:18:23 · 579 阅读 · 0 评论 -
XtraBackup 实现不停机不锁表搭建mysql主从
简介Xtrabackup是由 Percona 开发的一个开源软件,可实现对 InnoDB 的数据备份,支持在线热备份(备份时不影响数据读写)。备份时,Xtrabackup 会将 Master 的 binlog 信息记录在 xtrabackup_slave_info 文件中,通过此信息可以方便的搭建主从复制。XtraBackup 有两个工具:xtrabackup 和 innoback转载 2015-08-22 16:51:53 · 480 阅读 · 0 评论 -
mysql 数据插入优化方法
当一个线程对一个表执行一个DELAYED语句时,如果不存在这样的处理程序,一个处理器线程被创建以处理对于该表的所有DELAYED语句。通常来说,在MyISAM里读写操作是串行的,但当对同一个表进行查询和插入操作时,为了降低锁竞争的频率,根据concurrent_insert的设置,MyISAM是可以并行处理查询和插入的:当concurrent_insert=0时,不允许转载 2015-11-16 09:48:11 · 354 阅读 · 0 评论 -
Mysql在大型网站的应用架构演变
写在最前:本文主要描述在网站的不同的并发访问量级下,Mysql架构的演变可扩展性架构的可扩展性往往和并发是息息相关,没有并发的增长,也就没有必要做高可扩展性的架构,这里对可扩展性进行简单介绍一下,常用的扩展手段有以下两种Scale-up : 纵向扩展,通过替换为更好的机器和资源来实现伸缩,提升服务能力Scale-out : 横向扩展, 通过加节点(机器)来实现伸转载 2016-02-20 10:41:18 · 374 阅读 · 0 评论 -
隔离级别(Isolation Level)
SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirt转载 2016-03-12 11:10:08 · 776 阅读 · 0 评论 -
MySQL · 引擎特性 · InnoDB 事务锁简介
InnoDB 事务锁系统简介前言本文的目的是对InnoDB的事务锁模块做个简单的介绍,使读者对这块有初步的认识。本文先介绍行级锁和表级锁的相关概念,再介绍其内部的一些实现;最后以两个有趣的案例结束本文。本文所有的代码和示例都是基于当前最新的MySQL5.7.10版本。行级锁InnoDB支持到行级别粒度的并发控制,本小节我们分析下几种常见的行级锁类型,以及在哪转载 2016-03-12 16:51:00 · 593 阅读 · 0 评论 -
mysql死锁问题分析
线上某服务时不时报出如下异常(大约一天二十多次):“Deadlock found when trying to get lock;”。 Oh, My God! 是死锁问题。尽管报错不多,对性能目前看来也无太大影响,但还是需要解决,保不齐哪天成为性能瓶颈。 为了更系统的分析问题,本文将从死锁检测、索引隔离级别与锁的关系、死锁成因、问题定位这五个方面来展开讨论。转载 2016-03-12 17:23:25 · 341 阅读 · 0 评论 -
MySQL 加锁处理分析
1 背景 11.1 MVCC:Snapshot Read vs Current Read 21.2 Cluster Index:聚簇索引 31.3 2PL:Two-Phase Locking 31.4 Isolation Level 42 一条简单SQL的加转载 2016-03-12 17:34:30 · 273 阅读 · 0 评论 -
MySQL · 引擎特性 · InnoDB文件系统管理(一)
综述从上层的角度来看,InnoDB层的文件,除了redo日志外,基本上具有相当统一的结构,都是固定block大小,普遍使用的btree结构来管理数据。只是针对不同的block的应用场景会分配不同的页类型。通常默认情况下,每个block的大小为UNIV_PAGE_SIZE,在不做任何配置时值为16kb,你还可以选择在安装实例时指定一个块的block大小。 对于压缩表,可以在建表时指定bloc转载 2016-03-12 18:00:58 · 752 阅读 · 0 评论 -
MySQL · 引擎特性 · InnoDB文件系统管理(二)
传统压缩存储格式当你创建或修改表,指定row_format=compressed key_block_size=1|2|4|8 时,创建的ibd文件将以对应的block size进行划分。例如key_block_size设置为4时,对应block size为4kb。压缩页的格式可以描述如下表所示:在内存中通常存在压缩页和解压页两份数据。当对数据进行修改时,通常先修改转载 2016-03-12 18:02:32 · 865 阅读 · 0 评论 -
mysql 读写高并发大数据表优化
1.更新频繁尽量使用innode引擎,支持行级锁,降低锁粒度,提高并发量。2.考虑使用mysql 主从做读写分离,可以利用主库更新,从库进行查询。分担数据库压力,提高并发。3.考虑使用reids nosql类内存数据库进行读写分离。查询通过先redis查询,无结果再查询mysql,同时将mysql数据库查询存入redis。4.利用mysql表分区(1-1024),减小表粒度,块式管理数原创 2015-07-09 09:25:40 · 11855 阅读 · 0 评论 -
MySQL DBA基本面试题个人总结
一.基础知识1.MYSQL逻辑上可以分为多少层? 2.存储引擎最常用有那些?简单的描述下 3,简述在MYSQL数据系统里最常见的系统瓶项有那些? 4.MYSQL的备份有多少种,请简要的描述: 5.MYSQL CLUSTER 的环境主要由那三部份组成的? 二.综合题1. 为什么要对MYSQL的表进行分区 2. 简述MYSQL的常用的优化原创 2015-07-12 15:24:58 · 642 阅读 · 0 评论 -
MySQL基本安全总结
1.如果MYSQL客户端和服务器端的连接需要跨越并通过不可信任的网络,那么需要使用ssh隧道来加密该连接的通信。2.使用set password语句来修改用户的密码,先“mysql -u root”登陆数据库系统,然后“mysql> update mysql.user set password=password(’newpwd’)”,最后执行“flush privileges”就可以了。3原创 2015-07-12 15:47:13 · 366 阅读 · 0 评论 -
mysql基本调优
性能调优主要针对以下几方面调优: 1.SQL语句调优:针对SQL语句以及索引的优化 2.数据库实例调优:针对数据库基本参数配置优化 3.存储调优:针对数据库表结构以及存储分布方式的优化 4.硬件调优:针对服务器硬件性能优化SQL语句调优的本质是让SQL扫描更少的块可以获取到需要索引的数据。SQL调优主要分为索引调优和SQL语句优化原创 2015-07-09 11:19:37 · 625 阅读 · 0 评论 -
Innode表空间碎片优化
一:MySQL数据存储方式(Innodb)1. 数据表的框架结构:.frm 文件(数据库服务器层)2. 数据和索引存储(Innode引擎层)1共享表空间: ibdata:系统表空间文件,存储Innodb系统信息和用户数据库表数据和索引,所有表共用。2独立表空间: ibdata:数据库所有表信息,没有在这里面记录的表将会提示不存在。同时用来启动Inno原创 2015-07-09 10:58:02 · 1003 阅读 · 1 评论 -
mysql索引和sql规范
索引规范1、索引的数量要控制:(1)单张表中索引数量不超过5个(2)单个索引中的字段数不超过5个(3)对字符串使⽤用前缀索引,前缀索引长度不超过8个字符(4)建议优先考虑前缀索引,必要时可添加伪列并建立索引2、主键准则(1)表必须有主键(2)不使用更新频繁的列作为主键(3)尽量不选择字符转载 2015-07-10 15:40:46 · 620 阅读 · 0 评论 -
备份mysq binlog shell
#!/bin/bash#dateDIR=$(date -d "yesterday" +"%Y%m%d")dateDIR=$(date +"%Y%m%d")cd /home/database_backup/#mkdir -p $dateDIR/YourDB/binlog##刷新缓存中的日志mysqladmin -uUSERNAME -pPASSWORD flu原创 2015-07-12 14:51:10 · 469 阅读 · 0 评论 -
MySQL用户连接常见问题
1、GRANT命令创建远程连接mysql授权用户itloggermysql -u root -pmysql>GRANT ALL PRIVILEGES ON *.* TO itlogger@localhost IDENTIFIED BY ‘www.itlogger.com’ WITH GRANT OPTION;mysql>GRANT ALL PRIVILEGES ON *.* TO it原创 2015-07-12 16:09:42 · 374 阅读 · 0 评论 -
MySQL复制简介和使用
MySQl数据复制探索和配置一 复制介绍:MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。(这与同步复制可以进行对比)同步复制是MySQL簇的一个特征—主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功原创 2015-07-12 15:53:59 · 451 阅读 · 0 评论 -
mysql使用技巧总结
1.如果 Unixtop或 Windows任务管理器(Task Manager)显示服务的 CPU 占用率小于 70%,(shows that the CPU usage percentage with your workload is less than 70 %,)你的系统瓶颈可能在磁盘读写上。或许你提交了大量的事务,或者是缓冲池(buffer pool)太小了。将缓冲池设大点会有所帮助,但一原创 2015-07-12 16:06:15 · 423 阅读 · 0 评论 -
MySQL强制修改密码
# /etc/init.d/mysql stop# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &# mysql -u root mysqlmysql> UPDATE user SET Password=PASSWORD('you password') where User=’root’;mysql>原创 2015-07-12 16:13:37 · 594 阅读 · 0 评论 -
MyISAM引擎数据库基本配置优化
MYSQL服务器my.cnf配置文档详解硬件:内存16G[client]port = 3306socket = /data/3306/mysql.sock[mysql]no-auto-rehash[mysqld]user = mysqlport = 3306socket = /data/3306/mysql.sockbasedir = /us转载 2015-07-12 15:20:39 · 581 阅读 · 0 评论 -
Mysql 主主复制实现
一、概述:MySQL内建的数据复制功能基于MySQL的大规模、高性能应用的基础,这类应用使用所谓的“水平扩展”的架构。我们可以通过为服务器配置一个或多个备库或主库(目前MySQL生产版本没有实现多源复制,但是可以实现主主复制)。MySQL目前支持两种复制方式:基于行的复制和基于语句的复制。 二、复制可以解决的问题:1、数据分布2、负载均衡3、备份4、高可用性和故障切换原创 2015-07-12 16:17:36 · 483 阅读 · 0 评论 -
MySQL · 引擎特性 · InnoDB Fulltext简介
前言从MySQL5.6版本开始支持InnoDB引擎的全文索引,语法层面上大多数兼容之前MyISAM的全文索引模式。 所谓全文索引,是一种通过建立倒排索引,快速匹配文档的方式。MySQL支持三种模式的全文检索模式:第一种是自然语言模式(IN NATURAL LANGUAGE MODE),即通过MATCH AGAINST 传递某个特定的字符串来进行检索。第二种是布尔模式(IN转载 2016-03-12 18:04:05 · 2116 阅读 · 0 评论