Welcome 微信登录

首页 / 数据库 / MySQL

一次MySQL慢查询导致的故障

一次MySQL慢查询导致的故障

我们知道分析MySQL语句查询性能的方法除了使用EXPLAIN 输出执行计划,还可以让MySQL记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为“慢查询”。一、起因研发反应某台数据库僵死,后面的会话要么连接不上,要么要花费大量的时间返回结果,哪怕是一个简单的查询。二、处理首先去监控平台查看服务器以及数据库状态,发现这台数据库有大量的慢查询。继续看服务器监控,CPU 平均使用率较高,IO 读写平均值正常。登录到 MySQL,使用 SHOW...
MySQL备份与恢复之冷备(1)

MySQL备份与恢复之冷备(1)

用一句话概括冷备,就是把数据库服务,比如MySQL,Oracle停下来,然后使用拷贝、打包或者压缩命令对数据目录进行备份。如果数据出现异常,则可以通过备份数据恢复。冷备一般需要定制计划,比如什么时候做备份,每次对哪些数据进行备份等等。但是由于这样的备份占用过多的空间,对大数据量的环境下不一定适合,故生产环境很少使用。冷备示意图冷备实验第一步,创建测试数据库,插入测试数据mysql> use larrydb;Database changedmysql...
MySQL备份与恢复之真实环境使用冷备(2)

MySQL备份与恢复之真实环境使用冷备(2)

在上一篇文章(MySQL备份与恢复之冷备)中,我们提到了冷备。但是有个问题,我们存储的数据文件是保存在当前本地磁盘的,如果这个磁盘挂掉,那我们存储的数据不就丢失了,这样备份数据不就功亏一篑,劳而无功。所以真实环境中我们多准备几块磁盘,然后再在这些磁盘上搭建LVM,把MySQL的数据目录挂载到LVM上,这样数据就不是存储在当前磁盘上,就可以保证数据的安全性。示意图真实环境使用冷备模拟第一步,需要提前规划好磁盘,这里做模拟,添加两磁盘第二步,对磁盘进行分区[...
MySQL备份与恢复之热备(3)

MySQL备份与恢复之热备(3)

在上两篇文章(MySQL备份与恢复之冷备,MySQL备份与恢复之真实环境使用冷备)中,我们提到了冷备和真实环境中使用冷备。那从这篇文章开始我们看下热备。显然热备和冷备是两个相对的概念,冷备是把数据库服务,比如MySQL,Oracle停下来,然后使用拷贝、打包或者压缩命令对数据目录进行备份;那么我们很容易想到热备就是在MySQL或者其他数据库服务在运行的情况下进行备份。但是,这里存在一个问题,因为生产库在运行的情况下,有对该库的读写,读写频率有可能高,也可...
MySQL备份与恢复之热拷贝(4)

MySQL备份与恢复之热拷贝(4)

在上一篇文章中我们提到热备,热备也就是在MySQL或者其他数据库服务在运行的情况下进行备份。本文分享另外一种备份的方法,也就是热拷贝。热拷贝跟热备很类似,只不过热备使用mysqldump命令,热拷贝使用mysqlhotcopy命令。热拷贝的优势在于支持服务运行中进行备份,速度快,性能好;劣势在于只能备份MyIsam的表,无法备份InnoDB的表。所以在生产环境中应该酌情使用。示意图热备模拟第一步,热拷贝[root@serv01 databackup]# ...
简单的MySQL备份与还原方法分享

简单的MySQL备份与还原方法分享

为了安全起见,需要经常对数据库作备份,或者还原。对于 MySQL 而言,最方便的方法可能就是用 phpMyAdmin 的导出、导入功能了,但如果你的数据库体积比较大,作为 Web 应用的 phpMyAdmin 可能会遭遇“超时”而操作失败。所以,学会在命令行模式下备份、还原数据库,还是很有必要的。Linux系统下备份数据库在 Linux 命令行模式下备份 MySQL 数据库,用的是 mysqldump 命令:mysqldump -u mysqluser -...
MySQL备份与恢复之保证数据一致性(5)

MySQL备份与恢复之保证数据一致性(5)

在上一篇文章中我们提到热拷贝(MySQL备份与恢复之热拷贝),热拷贝也就是在MySQL或者其他数据库服务在运行的情况下使用mysqlhotcopy命令进行备份。这篇文章我们讲解怎样保证数据一致性。现在假设有这样一种情况,我们总是在凌晨对数据库进行备份,假设在凌晨之后发生数据库异常,并且导致数据丢失。这样凌晨之前的数据我们已经做了备份,但是凌晨到发生异常这段时间的数据就会丢失(没有binlog的情况下)。好在InnoDB存储引擎支持事务,也支持Binlog...
解析SQL Server 视图、数据库快照

解析SQL Server 视图、数据库快照

简介数据库快照 数据库快照,正如其名称所示那样,是数据库在某一时间点的视图。是SQL Server在2005之后的版本引入的特性。快照的应用场景比较多,但快照设计最开始的目的是为了报表服务。比如我需要出2011的资产负债表,这需要数据保持在2011年12月31日零点时的状态,则利用快照可以实现这一点。快照还可以和镜像结合来达到读写分离的目的。下面我们来看什么是快照。什么是快照 数据库快照是 SQL Server 数据库(源数据库)的只读静态视图。换句话说,...
MYSQL 创建函数出错的解决方案

MYSQL 创建函数出错的解决方案

在使用MySQL数据库时,有时会遇到MySQL函数不能创建的情况。下面就教您一个解决MySQL函数不能创建问题的方法,供您借鉴参考。案例一:目前在项目中,执行创建mysql的函数出错,mysql 创建函数出错信息如下:Error Code: 1227. Access denied; you need (at least one of) the SUPER privilege(s) for this operation首先检查创建函数的功能是否开启,检查是否...
Mysql学习心得之插入、更新、删除记录

Mysql学习心得之插入、更新、删除记录

下面通过图文并茂的方式给大家详解Mysql学习心得之插入、更新、删除记录。插入记录复制代码 代码如下:Insert[]into] tb1_name[(col_name,…..)]自动编号的字段,可以用values defaultDefault 可以赋予默认值复制代码 代码如下:INSERT USERS VALUES(NULL,"TOM","123",25,1);可以同时插入多条记录复制代码 代码如下:INSERT users VALUES(DEFAULT,...
MySQL中出现乱码问题的终极解决宝典

MySQL中出现乱码问题的终极解决宝典

MySQL出现乱码的原因要了解为什么会出现乱码,我们就先要理解:从客户端发起请求,到MySQL存储数据,再到下次从表取回客户端的过程中,哪些环节会有编码/解码的行为。为了更好的解释这个过程,博主制作了两张流程图,分别对应存入和取出两个阶段。存入MySQL经历的编码转换过程上图中有3次编码/解码的过程(红色箭头)。三个红色箭头分别对应:客户端编码,MySQL Server解码,Client编码向表编码的转换。其中Terminal可以是一个Bash,一个web...
如何设计高效合理的MySQL查询语句

如何设计高效合理的MySQL查询语句

MySQL查询语句大家都在用,但是应该如何设计高效合理的MySQL查询语句呢?下面就教您MySQL查询语句的合理设计方法,分享给大家学习学习。1.合理使用索引 索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率。现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构。索引的使用要恰到好处,其使用原则如下:●在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。●在频繁进行排序或分组(即进行group ...
虚拟机linux端mysql数据库无法远程访问的解决办法

虚拟机linux端mysql数据库无法远程访问的解决办法

对于解决虚拟机linux端mysql数据库无法远程访问的办法一种,以下内容我给大家整理了两种解决方案,具体内容如下:解决方法一:1、 在控制台执行 mysql -u root -p mysql,CentOS系统提示输入数据库root用户的密码,输入完成后即进入mysql控制台2、 在mysql控制台执行 GRANT ALL PRIVILEGES ON *.* TO "root"@"%" IDENTIFIED BY "MyPassword" WITH GRA...
<< 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 >>