Welcome 微信登录

首页 / 数据库 / MySQL

mysql主键的缺少导致备库hang住

mysql主键的缺少导致备库hang住

最近线上频繁的出现slave延时的情况,经排查发现为用户在删除数据的时候,由于表主键的主键的缺少,同时删除条件没有索引,或或者删除的条件过滤性极差,导致slave出现hang住,严重的影响了生产环境的稳定性,也希望通过这篇博客,来加深主键在innodb引擎中的重要性,希望用户在使用RDS,设计自己的表的时候,一定要为表加上主键,主键可以认为是innodb存储引擎的生命,下面我们就来分析一下这个案例(本案例的生产环境的binlog为row模式,对于myisa...
mysql同步问题之Slave延迟很大优化方法

mysql同步问题之Slave延迟很大优化方法

一般而言,slave相对master延迟较大,其根本原因就是slave上的复制线程没办法真正做到并发。简单说,在master上是并发模式(以InnoDB引擎为主)完成事务提交的,而在slave上,复制线程只有一个sql thread用于binlog的apply,所以难怪slave在高并发时会远落后master。 ORACLE MySQL 5.6版本开始支持多线程复制,配置选项 slave_parallel_workers 即可实现在slave上多线程并发复...
MySql二进制连接方式详解

MySql二进制连接方式详解

使用mysql二进制方式连接您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。实例以下是从命令行中连接mysql服务器的简单实例:复制代码 代码如下:[root@host]# mysql -u root -pEnter password:******在登录成功后会出现 mysql> 命令提示窗口,你可以在上面执行任何 SQL 语句。以上命令执行后,登录成功输出结果如下:Welcome to the MySQL moni...
mysql tmp_table_size优化之设置多大合适

mysql tmp_table_size优化之设置多大合适

通过设置tmp_table_size选项来增加一张临时表的大小,例如做高级GROUP BY操作生成的临时表。如果调高该值,MySQL同时将增加heap表的大小,可达到提高联接查询速度的效果,建议尽量优化查询,要确保查询过程中生成的临时表在内存中,避免临时表过大导致生成基于硬盘的MyISAM表。mysql> show global status like ‘created_tmp%‘;+——————————–+———+| Variable_name ...
MySQL 配置优化(多个参数)

MySQL 配置优化(多个参数)

下面列出了对性能优化影响较大的主要变量,主要分为连接请求的变量和缓冲区变量。1. 连接请求的变量:1) max_connectionsMySQL的最大连接数,增加该值增加mysqld 要求的文件描述符的数量。如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,介于MySQL会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值,不能盲目提高设值。数值过小会经常出现ERROR 1...
MySQL学习第一天 第一次接触MySQL

MySQL学习第一天 第一次接触MySQL

一、什么是数据库?数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。RDBMS即关系数据库管理系统(Relatio...
MySQL学习第二天 安装和配置mysql winx64

MySQL学习第二天 安装和配置mysql winx64

一、安装方式 MySQL安装文件分为两种,一种是MSI格式的,一种是ZIP格式的。下面来看看这两种方式: MSI格式的可以直接点击安装,按照它给出的安装提示进行安装,Windows操作系统下一般MySQL将会安装在C:Program FilesMySQL该目录中。 ZIP格式是自己解压,解压缩之后其实MySQL就可以使用了,但是要进行配置。这个可以在网上随便找,给出很多自定义安装和配置的详细步骤。推荐的链接:超详细的mysql图文安装教程二、安...
超详细的mysql图文安装教程

超详细的mysql图文安装教程

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择...
MySQL学习第三天 Windows 64位操作系统下验证MySQL

MySQL学习第三天 Windows 64位操作系统下验证MySQL

一、验证计算机服务列表中是否有MySQL服务(1)右击桌面上的计算机图标出现菜单列表选项,选中管理(有多种方式可以打开计算机本地服务列表,这里只是用的我习惯的打开方式)。(2)出现计算机对话框,点击打开服务与应用程序中服务选项。(3)在右侧的服务列表中寻找是否有名称为MySQL的服务,并且查看是否启动,这说明我们安装MySQL服务已经成功。若MySQL服务为自动启动,则说明我们的配置是成功的。二、验证计算机Path环境变量是否配置有MySQL安装目录(1)...
MySQL学习第四天 Windows 64位系统下使用MySQL

MySQL学习第四天 Windows 64位系统下使用MySQL

一、启动/关闭MySQL(1)启动MySQL服务:net start mysql(2)停止MySQL服务:net stop mysql二、登录/退出MySQL首先我们先来看看一些重要的mysql参数,下面表中列出了一些重要的mysql参数:(1)查看版本号:输入mysql -V或mysql --version,注意这里的-V是大写。(2)登录MySQLmysql后面要加参数才行。格式是:mysql -u root (用户) -p -P 端口号 -h mys...
MySQL分组查询Group By实现原理详解

MySQL分组查询Group By实现原理详解

由于GROUP BY 实际上也同样会进行排序操作,而且与ORDER BY 相比,GROUP BY 主要只是多了排序之后的分组操作。当然,如果在分组的时候还使用了其他的一些聚合函数,那么还需要一些聚合函数的计算。所以,在GROUP BY 的实现过程中,与 ORDER BY 一样也可以利用到索引。 在MySQL 中,GROUP BY 的实现同样有多种(三种)方式,其中有两种方式会利用现有的索引信息来完成 GROUP BY,另外一种为完全无法使用索引的场景下使...
mysql 松散的索引扫描(Loose index scan)

mysql 松散的索引扫描(Loose index scan)

优化Group By最有效的办法是当可以直接使用索引来完全获取需要group的字段。使用这个访问方法时,MySQL使用对关键字排序的索引的类型(比如BTREE索引)。这使得索引中用于group的字段不必完全涵盖WHERE条件中索引对应的key。由于只包含索引中关键字的一部分,因此称为松散的索引扫描。历史上MySQL不能做松散的索引扫描,这种方式可以扫描索引的非连续部分,假定下面的例子中,在列(a,b)上有一索引,要运行下面的查询:mysql> SEL...
MySQL优化GROUP BY(松散索引扫描与紧凑索引扫描)

MySQL优化GROUP BY(松散索引扫描与紧凑索引扫描)

满足GROUP BY子句的最一般的方法是扫描整个表并创建一个新的临时表,表中每个组的所有行应为连续的,然后使用该临时表来找到组并应用累积函数(如果有)。在某些情况中,MySQL能够做得更好,即通过索引访问而不用创建临时表。 为GROUP BY使用索引的最重要的前提条件是所有GROUP BY列引用同一索引的属性,并且索引按顺序保存其关键字。是否用索引访问来代替临时表的使用还取决于在查询中使用了哪部分索引、为该部分指定的条件,以及选择的累积函数。 由于GROU...
MySQL创建数据库的两种方法

MySQL创建数据库的两种方法

本文为大家分享了两种MySQL创建数据库的方法,供大家参考,具体内容如下第一种方法:使用 mysqladmin 创建数据库使用普通用户,你可能需要特定的权限来创建或者删除 MySQL 数据库。所以我们这边使用root用户登录,root用户拥有最高权限,可以使用 mysql mysqladmin 命令来创建数据库。实例以下命令简单的演示了创建数据库的过程,数据名为 TUTORIALS:[root@host]# mysqladmin -u root -p cr...
MySQL 句柄数占用过多的解决方法

MySQL 句柄数占用过多的解决方法

在Windows下安装MySQL ,用了官方的配置向导生成了my.ini,本以为很安稳了,谁知十多个小时过去之后,系统响应非常慢,看资源管理器的性能卡,发现句柄数竟然达到了10万!怪不得无论使用什么程序都卡得很。 网上搜索一下,大概是说 innodb_buffer_pool_size 这个默认的8M太大,但我已经skip-innodb了啊。 后来又看到一个设置innodb_flush_log_at_trx_commit innodb_flush_lo...
<< 151 152 153 154 155 156 157 158 159 160 >>