通过设计表结构来最小化磁盘空间占用,能够减少磁盘数据的读写,实现性能提升。较小的表通常需要更少的内存,这也意味着在查询时,表中数据能够被更快速地处理,表数据的缩减也会使得索引数据更小,索引查询更高效。 MySQL 支持不同的存储引擎和行格式,对于每一张表,都能为其设置合适的存储引擎和索引类型。应用
在linux平台安装MySQL有很多种方式,比如rpm包,deb包,yum,apt-get 等等,每一种方式都限定于特定的linux发行版本,不具备通用性。然而MySQL提供了一种linux generic方式,能够在所有linux发行版进行安装,下面将具体描述linux generic方式的MyS
MySQL是一款开源的关系型数据库,目前最新的大版本为8.0,本文将介绍CentOS 7.2环境下,源码编译安装MySQL 8.0的过程以及遇到的问题。 环境: CentOS 7.2 MySQL 8.0.18 一、下载MySQL 8.0 源码 MySQL官方社区版:https:
MySQL主从复制是使用最多的高可用架构,主库写入数据,通过主从复制同步到从库。从库只读,如果配置了读写分离和负载均衡,那么除了写入数据只能在主库进行,读流量完全可以分配到从库上,减少主库的压力。下面将详细介绍MySQL主从复制搭建的过程。 MySQL配置: 开启binlog:log_b
1、MySQL官方社区版本下载: MySQL 8.0 下载: https://dev.mysql.com/downloads/mysql/ MySQL 5.0,5.1,5.5,5.6,5.7,8.0下载: https://downloads.mysql.com/archives/commun
在MySQL多源复制架构中,一个从库可以创建多个命名的复制通道(channels),复制通道代表主库向从库传送事务数据的路径,每个复制通道有自己独立的IO线程,1个或多个SQL线程。 多源复制常用于多主多从复制的复杂架构,多源复制并不提供多主上数据写入冲突的检测,如果在多主上对同一条记录进行更新,
Copyright © 2020-2023 www.mytecdb.com All Rights Reserved.
Copyright © 2020-2023 www.mytecdb.com All Rights Reserved.
Copyright © 2020-2023 www.mytecdb.com All Rights Reserved.
Percona 公司发布的 MySQL 分支版本(Percona Server for MySQL)在互联网公司具有广泛的用户,其发布的 MySQL 版本在社区版基础上增加了许多实用功能,比如线程池,InnoDB 存储引擎增强,审计功能,运维管理功能增强等等,另外 Percona 公司还提供了功能完
mysqldump是MySQL自带的逻辑备份工具,能够实现包括库级别、表级别、字段级别、表结构、where条件过滤等不同粒度的数据备份,备份出来的文件通常是文本形式保存的SQL语句,当然也可以是CSV,XML格式,这些文本文件能够很方便地再次导入到MySQL或者其他类型的数据库。 由于是逻辑备份,
xtrabackup是percona公司开发的一款开源免费的MySQL热备份工具,备份期间,不会锁库,不影响正常的业务写入,并且不会对MySQL性能产生大的影响。 xtrabackup属于物理备份,备份、恢复速度快,适合数据量大,整库备份的场景。 对于InnoDB、XtraDB和MyRock
MySQL 通常使用开源工具 Xtrabackup 进行物理备份,备份过程中不会影响正常业务的写入,但是是否会阻塞 DDL 操作呢?或者 DDL 操作是否会导致 Xtrabackup 备份失败?下面通过实例测试来看一下。 MySQL 版本:Percona Server for MySQL 5.
本文通过一组测试,来看一下MySQL主从库服务器时钟的差异对MySQL复制延迟的影响。 一、测试环境 操作系统:CentOS 7.3,4核,16G MySQL: 5.7.19 1主2从 二、测试场景 主库时钟比从库早1分钟,5分钟,1小时,1天 主库时钟比从库晚1分钟,5
slave_compressed_protocol 参数用于控制MySQL主从复制是否使用压缩协议,基于ROW格式的binlog,其数据量一直是一个比较大的问题,开启binlog复制压缩对于缓解binlog数据量大导致的网络带宽问题有一定的帮助,那么开启slave_compressed_protoc
看到一个MySQL面试题,关于隔离级别,读未提交(Read uncommitted)的一个使用场景。 原始问题如下: 业务通过一个大事务在插入一批非常大的数据,这个事务已经执行了很长时间,没有提交,如何知道当前已经插入了多少条数据? 估计很少有人会想到使用读未提交隔离级别来解决这个问题。不过思
1、背景 MySQL主备复制是基于Binlog的逻辑复制,通常在主库写入数据,数据通过Binlog复制到备库,备库只读,网络流量是单向的主库到备库。如果在此基础上,建立主备双向复制,仍然只在主库写入,主库Binlog复制到备库,备库产生的Binlog是否会再次传输到主库?虽然MySQL通过serv
MySQL InnoDB表支持行格式压缩,压缩后的表能够显著减少磁盘空间占用,但是压缩功能也会造成一定的性能损耗,比如加重CPU的负载,降低数据库吞吐量。本文通过测试案例,来具体了解MySQL InnoDB行格式压缩的效果以及对性能的影响。 MySQL版本:5.7.19 测试工具:sysbe
最近遇到一个有趣的MySQL问题,如何快速全表更新某个字段值,比如有一张大表,1千万条记录,其中有个字段c,如何高效地全表更新字段c的值,使得c=c+1。 这个问题似乎没有什么好的解决方法,有个朋友提示,能否将1千万条记录拆分成多个部分,并发更新,这种比单纯的一条SQL全表更新要快一些。真的是这样
MySQL官方版本不支持空闲事务自动kill的功能,Percona版本的MySQL引入了参数 kill_idle_transaction 和 innodb_kill_idle_transaction 来支持自动杀空闲事务。这两个参数本质上是一样的,innodb_kill_idle_transacti