-
微服务架构下,利用Sharding-jdbc解决读写分离查询延迟问题
所属栏目:[MySql教程] 日期:2019-09-17 热度:133
前言 当Mysql数据库数据达到一定量后,查询SQL执行会变慢起来,除了建索引、优化程序代码以及SQL语句等常规手段外,利用经典MHA数据库中间件做数据库读写分离是一个不错的选择。但是在读写分离架构中会出现一个共性问题:SQL读取延迟。 读写实时场景 比如[详细]
-
MySQL EXPLAIN结果集分析 - 附带大量案例
所属栏目:[MySql教程] 日期:2019-09-17 热度:130
EXPLAIN:查看SQL语句的执行计划 EXPLAIN命令可以帮助我们深入了解MySQL基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用,在优化慢查询时非常有用。 执行explain之后结果集包含如下[详细]
-
一文看懂MySQL如何查看数据库表容量大小
所属栏目:[MySql教程] 日期:2019-09-17 热度:157
今天主要介绍MySQL查看数据库表容量大小的几个方法,仅供参考。 1. 查看所有数据库容量大小 SELECT table_schemaAS'数据库', sum(table_rows)AS'记录数', sum(TRUNCATE(data_length/1024/1024,2))AS'数据容量(MB)', sum(TRUNCATE(index_length/1024/1024,2[详细]
-
基于时序数据库做监控,这里有超流行的开源方案
所属栏目:[MySql教程] 日期:2019-09-17 热度:190
在微服务架构下,我们对服务进行了拆分,所以用户的每次请求不再是由某一个服务独立完成了,而是变成了多个服务一起配合完成。这种情况下,一旦请求出现异常,我们必须得知道是在哪个服务环节出了故障,就需要对每一个服务,以及各个指标都进行全面的监控[详细]
-
关于MySQL数据库清理binlog日志命令总结
所属栏目:[MySql教程] 日期:2019-09-17 热度:184
今天主要分享下mysql数据库应该如何正确的删除binlog日志,这里要注意不要强制使用rm命令进行清除。否则mysq-bin.index错乱,最终导致后期expire-log-days配置项失效。 1. 查看binlog日志 mysqlshowbinarylogs; 2. 删除某个日志文件之前的所有日志文件 purg[详细]
-
MySQL数据库 如果你能面试的时候能回答这些问题月薪2万不是问题
所属栏目:[MySql教程] 日期:2019-09-17 热度:125
汇总面试Mysql岗位容易遇到的提问,如果你正准备面试的公司刚刚好要考察你的数据库认知 能力的话,那么这篇文章最适合你。 2019 年著名的技术问答网站 Stack Overflow 发布了2019年年度开发者调查报告,SQL 在受欢迎的编程语言中排在了第 3 名,大部分的开[详细]
-
海量、多维数据让人抓狂?高效搜索方法看这里
所属栏目:[MySql教程] 日期:2019-09-17 热度:104
人与世界万物的互动会产生大量的时空数据。那么,当我们需要随时调用过去的数据时,改怎么办?尤其是面对各种海量、多维度的数据库,如果没有高效的搜索方法,我们只能望洋兴叹、束手无策。 别担心,本文将用详细的代码,手把手来传授高效搜索法的绝技! 对[详细]
-
MyCat数据库的基础配置及使用
所属栏目:[MySql教程] 日期:2019-09-17 热度:166
一、为什么需要分布式数据据库 随着计算机和信息技术的迅猛发展,行业应用系统的规模迅速扩大,行业应用所产生的数据量呈爆炸式增长,动辄达到数百TB甚至数百PB的规模,已远远超出传统计算技术和信息系统的处理能力,集中式数据库面对大规模数据处理逐渐表[详细]
-
记一次MySQL数据库升级导致授权失败的案例
所属栏目:[MySql教程] 日期:2019-09-13 热度:102
在设置mysql数据库远程登录时碰到设置失败的情况,因为还是第一次见过这种信息,所以记录一下。 报错信息 ERROR3009(HY000):Columncountofmysql.useriswrong.Expected45,found42.CreatedwithMySQL50560,nowrunning50727. Pleaseusemysql_upgradetofixthise[详细]
-
详解MySQL索引使用率监控技巧,值得收藏
所属栏目:[MySql教程] 日期:2019-09-13 热度:163
在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 mysql中支持hash和btree索引。innodb和myisam只支持btree索引,[详细]
-
超详细的MySQL数据库字符集总结,值得收藏
所属栏目:[MySql教程] 日期:2019-09-12 热度:84
MySQL支持多种字符集(character set)提供用户存储数据,同时允许用不同排序规则(collation)做比较。下面基于MySQL5.7介绍一下字符集相关变量的使用。 一、字符集、字符序的概念与联系 在数据的存储上,MySQL提供了不同的字符集支持。而在数据的对比操作上[详细]
-
一文看懂MySQL数据库LnnoDB崩溃恢复机制
所属栏目:[MySql教程] 日期:2019-09-12 热度:164
概述 数据库系统与文件系统很大的区别在于数据库能保证操作的原子性,一个操作要么不做要么都做,即使在数据库宕机的情况下,也不会出现操作一半的情况,这个就需要数据库的日志和一套完善的崩溃恢复机制来保证。下面简单介绍一下InnoDB的崩溃恢复流程。[详细]
-
MySQL如何优化大分页查询?
所属栏目:[MySql教程] 日期:2019-09-12 热度:175
一 背景 大部分开发和DBA同行都对分页查询非常非常了解,看帖子翻页需要分页查询,搜索商品也需要分页查询。那么问题来了,遇到上千万或者上亿的数据量怎么快速的拉取全量,比如大商家拉取每月千万级别的订单数量到自己独立的ISV做财务统计;或者拥有百万[详细]
-
超详细的MySQL数据库InnoDB崩溃恢复机制总结
所属栏目:[MySql教程] 日期:2019-09-12 热度:139
概述 数据库系统与文件系统大的区别在于数据库能保证操作的原子性,一个操作要么不做要么都做,即使在数据库宕机的情况下,也不会出现操作一半的情况,这个就需要数据库的日志和一套完善的崩溃恢复机制来保证。下面简单介绍一下InnoDB的崩溃恢复流程。 相[详细]
-
NoSQL究竟是什么?了解为什么NoSQL数据库不是传统数据库的对手
所属栏目:[MySql教程] 日期:2019-09-12 热度:179
近年来,我们目睹了NoSQL的兴起,并观察它在各种应用中的应用。本文旨在对SQL和NoSQL技术进行客观比较,并尝试澄清一些不明确的方面,以帮助人们熟悉地选择后端。 我对NoSQL的态度 一切都有时间,2014年我开始使用NoSQL。也许我迟到了,但我之前的项目需求[详细]
-
这几个Redis使用技巧,让你的程序快如闪电
所属栏目:[MySql教程] 日期:2019-09-10 热度:102
一、Redis封装架构讲解 实际上NewLife.Redis是一个完整的Redis协议功能的实现,但是Redis的核心功能并没有在这里面,而是在NewLife.Core里面。 这里可以打开看一下,NewLife.Core里面有一个NewLife.Caching的命名空间,里面有一个Redis类,里面实现了Redis[详细]
-
一份完整的MySQL开发规范,进大厂必看!
所属栏目:[MySql教程] 日期:2019-09-10 热度:103
一、数据库命令规范 1、所有数据库对象名称必须使用小写字母并用下划线分割 2、所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 3、数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 4、临[详细]
-
Java大牛分享关于Redis缓存的几道典型面试题
所属栏目:[MySql教程] 日期:2019-09-10 热度:117
随着系统访问量的提高,复杂度的提升,响应性能成为一个重点的关注点。而缓存的使用成为一个重点。 redis 作为缓存中间件的一个佼佼者,成为了面试必问项目。 本文分享一下Redis几道常见的面试题: 缓存雪崩 1.1 什么是缓存雪崩? 如果我们的缓存挂掉了,[详细]
-
数据库管理工具,你选对了吗?
所属栏目:[MySql教程] 日期:2019-09-10 热度:191
小编为大家带来一款免费的数据库管理器,Valentina Studio for Mac支持SQL Server、MySQL、PostgreSQL、SQLite等服务器,valentina studio数据库管理可以使用不同的图表进行数据建模,功能实用,这款valentina studio mac版是免费的,有需要的朋友可以下载[详细]
-
MySQL如何重置root密码
所属栏目:[MySql教程] 日期:2019-09-09 热度:80
1. 前言 忘记你的MySQL root密码? 别担心,它发生在我们所有人身上。 在本教程中,我们将向您展示如何重置MySQL root密码,以防您忘记密码。 本教程适用于任何现代Linux发行版,如Ubuntu 18.04、CentOS 7、Debian等等。 2. 准备工作 在继续执行以下步骤之[详细]
-
什么是分布式事务,以及有哪些解决方案?
所属栏目:[MySql教程] 日期:2019-09-09 热度:165
什么是分布式事务? 答:指一次大的操作由不同的小操作组成的,这些小的操作分布在不同的服务器上,分布式事务需要保证这些小操作要么全部成功,要么全部失败。从本质上来说,分布式事务就是为了保证不同数据库的数据一致性。 分布式事务产生的原因? 1 数据[详细]
-
记一次生产数据库log file sync 等待事件异常及处理过程
所属栏目:[MySql教程] 日期:2019-09-08 热度:103
今天主要从一个案例来介绍一下log file sync这个等待事件及常用的一些解决办法,下面先看下故障时间段的等待事件。 1. 查看卡顿时间段的等待事件及会话 查看故障时间段等待事件、问题sql id及会话访问次数 selecttrunc(sample_time,'mi')tm,sql_id,nvl(eve[详细]
-
闲聊数据库高可用容灾规划设计
所属栏目:[MySql教程] 日期:2019-09-07 热度:201
一个系统可能包含很多模块,如数据库、前端、缓存、搜索、消息队列等,每个模块都需要做到高可用,才能保证整个系统的高可用。对于数据库服务而言,高可用的实现可能更加复杂,对用户的服务可用,不仅仅是能访问,还需要有正确性保证,因此讨论数据库的高[详细]
-
详解MySQL数据库常见的索引问题:无索引,隐式转换,附实例说明
所属栏目:[MySql教程] 日期:2019-09-07 热度:145
概述 在这些年的工作之中,由于SQL问题导致的数据库故障层出不穷,而索引问题是SQL问题中出现频率最高的,常见的索引问题包括:无索引,隐式转换。 索引问题 1、无索引 当数据库中出现访问表的SQL无索引导致全表扫描,如果表的数据量很大,扫描大量的数据[详细]
-
分享两个实用sql:根据会话查询当前和历史执行过的sql
所属栏目:[MySql教程] 日期:2019-09-07 热度:192
分享两个脚本,主要是通过Oracle会话sid来查询一下当前执行的sql和历史执行过的一些sql。 根据sid查询历史执行过的sql selectsql_textfromv$sqlareaa,v$sessionbwherea.SQL_ID=b.PREV_SQL_IDandb.SID=sid; 根据sid查询当前执行的sql selectsql_text fromv$[详细]