• MySql:阿里云Yum安装MySql 8.0,并配置用户及权限,极简操作!

    这是一篇结合官网文档,实际操作的图文笔记Yum命令 安装MySql下载MySql Yum存储库,选择对应的版本(以Centos 7 为例 选择EL7的)以wget命令为例(在local下新建一个mysql文件夹,将rpm文件下载到该路径下)#进入local文件夹cd /usr/local/#创建mysql文件夹(下载到其他地方也可以,下载到这里是为了方便管理)mkdir mys...

    MySQL 2020年04月17日 1928 0
  • Mysql -乐观锁和悲观锁

    悲观锁介绍(百科):悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中, 将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了 加锁机制,也无法保证外部系统不会修改数据)。使用场景举例:以MySQL I...

    MySQL 2020年04月17日 1461 0
  • mysql如何捕捉慢日志查询

    慢日志查询日志查询超过变量 long_query_time指定时间值的为慢查询,但是查询获取锁(包括锁等待)的时间不计入查询时间内,mysql 记录慢查询日志是在查询执行完毕且已经完全释放锁之后才记录,因为慢查询日志的记录顺序和执行sql的顺序可能不一致,注意 mysql5.1之后就支持微秒级的慢查询,对于dba而言一个查询0.5秒和运行0.05秒是非常不同的,前者可能索引使用...

    MySQL 2020年04月15日 1690 0
  • MySQL 8.0来了,大势所趋,逆之者亡

    MySQL 8.0它lei了,大势浩浩荡荡,谁也挡不住MySQL被Sun收购后,搞了个过渡的6.0版本,没多久就下线了(有一次居然听说有人在线上用6.0版本,我惊得下巴都掉了)。被Oracle收购后,终于迎来了像样的5.6版本,之后就是5.7、8.0版本。这么看来,Sun的衰亡不无道理。P.S,上面说了6.0版本号已被用过,7.x系列版本专用于NDB Cluster,因而新版本...

    MySQL 2020年04月15日 8477 0
  • 手把手教你分析Mysql死锁问题

    前言前几天跟一位朋友分析了一个死锁问题,所以有了这篇图文详细的博文,哈哈~发生死锁了,如何排查和解决呢?本文将跟你一起探讨这个问题准备好数据环境模拟死锁案发分析死锁日志分析死锁结果环境准备数据库隔离级别:mysql> select @@tx_isolation;+-----------------+| @@tx_isolation |+-----------------...

    MySQL 2020年04月14日 1467 0
  • Docker常用镜像安装:MySql Redis GitLab maven私服等

    学习Docker的过程就是安装各种镜像、环境搭建的过程。下面是常用Docker公共镜像的安装方式,记录下来,环境收藏~一、安装Mysql1.创建mysql下载镜像:docker pull centos/mysql-57-centos7创建容器:docker run -di --name=mysql --restart=always -p 3306:3306 -e MYSQL_R...

    MySQL 2020年04月13日 2222 0
  • 非常重要的mysql数据库定时备份!

    数据是非常重要的,所以数据备份必不可少!比如受到攻击,或者人为误操作时,备份数据就派上用场,及时恢复数据,将影响降到最低。下面以mysql为例,利用mysqldump(mysql自带工具)工具进行备份,实现每天整点定时备份数据库(定时是利用linux的crontab,可以自己配置任意时间),并且只保留7天(时间可配置)假设数据库名为:test第一步.创建脚本文件夹mkdir /...

    MySQL 2020年04月12日 2313 0
  • 程序员经典面试题,Mysql并发读写的时候,都是需要加锁的么?

    这是一道经典的程序员面试题,在Mysql中,如果有多个事务同时访问同一行数据,那么需要加锁么?我们都知道,在Mysql中有行锁,如果有多个事务同时修改同一行数据,那么需要加锁来防止并发问题。那么,如果有事务修改数据,又有事务读取这个数据,需要加锁么?答案是不一定,事实上,Mysql的很多数据库引擎为了提升并发性能,都做了多版本并发控制,也就是我们常说的MVCC,事实上,除了My...

    MySQL 2020年04月12日 1743 0
  • 为什么Redis 单线程却能支撑高并发?

    最近在看 UNIX 网络编程并研究了一下 Redis 的实现,感觉 Redis 的源代码十分适合阅读和分析,其中 I/O 多路复用(mutiplexing)部分的实现非常干净和优雅,在这里想对这部分的内容进行简单的整理。几种 I/O 模型为什么 Redis 中要使用 I/O 多路复用这种技术呢?首先,Redis 是跑在单线程中的,所有的操作都是按照顺序线性执行的,但是由于读写操...

    Redis 2020年04月11日 1595 0
  • mysql5.7 使用XtraBackup2.4 全量备份还原

    下载 XtraBackupmysql5.7我们使用 XtraBackUp2.4版本 下面是网址下载文件为 percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm进行安装预先安装 libev perl-DBD-MySQL perl-Digest-MD5yum -y install libevyum -y install perl-DBD-MySQ...

    MySQL 2020年04月11日 4273 0
  • MySQL默认值选型是空,还是 NULL-爱可生

    如果对一个字段没有过多要求,是使用“”还是使用 NULL,一直是个让人困惑的问题。即使有前人留下的开发规范,但是能说清原因的也没有几个。NULL 是“”吗?在辨别 NULL 是不是空的这个问题上,感觉就像是在证明 1 + 1 是不是等于 2。在 MySQL 中的 NULL 是一种特殊的数据。一个字段是否允许为 NULL,字段默认值是否为 NULL。主要有如下几种情况:字段类型表...

    MySQL 2020年04月11日 2887 0
  • 程序员最常犯的MySQL错误

    1、使用MyISAM而不是InnoDBMySQL有很多数据库引擎,但是你最可能碰到的就是MyISAM和InnoDB。MySQL 默认使用的是MyISAM。但是,很多情况下这都是一个很糟糕的选择,除非你在创建一个非常简单抑或实验性的数据库。外键约束或者事务处理对于数据完整性 是非常重要的,但MyISAM都不支持这些。另外,当有一条记录在插入或者更新时,整个数据表都被锁定了,当使用...

    MySQL 2020年04月11日 1320 0
  • 手把手教你SQL注入

    什么是SQL注入?SQL注入指的数据库将用户输入的数据当作SQL语句执行,从而对数据库进行任意的操作达到攻击的目的。这里的“用户”一般是指发现网站漏洞并构造合法的SQL语句对网站进行攻击的人。怎么导致SQL注入?SQL注入有两个关键的条件:用户能够控制输入、代码中SQL语句对用户输入的数据进行拼接。如下:String sql="select * from user where ...

    MySQL 2020年04月11日 1614 0
  • 巧用SQL拼接语句

    前言:在日常数据库运维过程中,可能经常会用到各种拼接语句,巧用拼接SQL可以让我们的工作方便很多,达到事半功倍的效果。本篇文章将会分享几个日常会用到的SQL拼接案例,类似的SQL还可以举一反三,探索出更多的可能性哦。_注意_:适用于5.7版本,其他版本可能稍许不同。1.CONCAT函数介绍授人以鱼不如授人以渔,拼接SQL主要用到的是CONCAT函数,我们先来介绍下该函数的用法。...

    MySQL 2020年04月10日 2411 0
  • 解读MySQL行锁和表锁的含义及区别

    一、前言对于行锁和表锁的含义区别,在面试中应该是高频出现的,我们应该对MySQL中的锁有一个系统的认识,更详细的需要自行查阅资料,本篇为概括性的总结回答。MySQL常用引擎有MyISAM和InnoDB,而InnoDB是mysql默认的引擎。MyISAM不支持行锁,而InnoDB支持行锁和表锁。如何加锁?MyISAM在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在...

    MySQL 2020年04月10日 2046 0
  • 永远不要在MySQL中使用utf8,要改用utf8mb4

    Mysql 中的 utf8 是假的UTF-8,utf8mb4才是正牌UTF-8用 utf8mb4 就完事了MySQL的"utf8"不是UTF-8。MySQL中的“utf8”只支持每个字符最多三个字节,而真正的UTF-8是每个字符最多四个字节。MySQL 开发人员从未修复此错误。他们在2010年发布了一个解决方法:一个新的字符集称为"utf8mb4"。当然,他们从来没有宣传过这个...

    MySQL 2020年04月10日 1886 0
  • 5分钟学会SQL SERVER窗口函数

    本文目录:简介语法优点实例简介窗口函数(window function), 也可以被称为 OLAP函数 或 分析函数。窗口函数是在 ISO SQL 标准中定义的。窗口是用户指定的一组行。窗口函数计算从窗口派生的结果集中各行的值。可以在单个查询中将多个排名或聚合窗口函数与单个 FROM 子句一起使用。窗口函数是整个SQL语句最后被执行的部分,这意味着窗口函数是在SQL查询的结果集...

    SQL SERVER 2020年04月10日 3451 0
  • SQL编程思想:一切皆关系

    在计算机领域有许多伟大的设计理念和思想,例如:在 Unix 中,一切皆文件。在面向对象的编程语言中,一切皆对象。关系数据库同样也有自己的设计思想:在 SQL 中,一切皆关系。关系模型关系模型(Relational model)由 E.F.Codd 博士于 1970 年提出,以集合论中的关系概念为基础;无论是现实世界中的实体对象还是它们之间的联系都使用关系表示。我们在数据库系统中...

    Oracle 2020年04月10日 2982 0
  • 彻底解决MySQL中的乱码问题

    字符集转换概述我们有必要说明一下, 字符 其实是面向人类的一个概念,计算机可并不关心字符是什么,它只关心这个字符对应的字节编码是什么。对于一个字节序列,计算机怎么知道它是使用什么字符集编码的呢?计算机不知道,所以其实在计算机中表示一个字符串时,都需要附带上它对应的字符集是什么,就像这样(以C++语言为例):class String { byte* content; ...

    MySQL 2020年04月09日 1375 0
  • mysql数据库备份及其恢复

    一、确保mysql开启了binlog日志功能在/etc/my.cnf文件里的[mysqld]区块添加:#这个是存储的位置为mysql配置文件的位置log-bin=mysql-bin然后重启mysql服务生效二、创建数据库先创建一个ops数据库create database ops;use ops;创建一个customers表并写上表结构create table customer...

    MySQL 2020年04月09日 1457 0
  • Redis 高可用

    主从复制#Redis 5.0 之后提供了REPLICAOF替代了之前的SLAVEOF命令来实现Master-Slave之间的数据交换 接下来我们设置主从复制模型:Master节点首先修改redis-master.conf配置文件来配置端口和安全认证bind 127.0.0.1port 6379 #端口requirepass redis #...

    Redis 2020年04月08日 1870 0
  • Elasticsearch:将mysql数据导入到Elasticsearch中

    因为elk(Elasticsearch,logstash,Kibana是一家的),所以使用 logstash做为作为导入工具是最好的选择。1))下载logstash https://www.elastic.co/cn/logstash2)解压后进入logstash目录3)新版本(2020/3/12,7.6.1)无需执行bin/logstash-plugin install lo...

    MySQL 2020年04月07日 5598 0
  • 我是如何在SQLServer中处理每天四亿三千万记录的

    以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务。项目背景这是给某数据中心做的一个项目,项目难度之大令人发指,这个项目真正的让我感觉到了,商场如战场,而我只是其中的一个小兵,太多的战术,太多的高层之间的较量,太多的内幕了。具体这个项目的情况,我有空再写相关的博文出来。这个项...

    SQL SERVER 2020年04月07日 2844 0
  • SQL Server的行转列和列转行

    行转列,列转行是我们在开发过程中经常碰到的问题。行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 的运算符PIVOT来实现。用传统的方法,比较好理解。层次清晰,而且比较习惯。 但是PIVOT 、UNPIVOT提供的语法比一系列复杂的SELECT…CASE 语句中所指定的语法更简单、更具可读性。下面我们通过几个简单的例子来介绍一下列转行、行转列问题。...

    SQL SERVER 2020年04月06日 3186 0
  • 分享一份大佬的MySQL数据库设计规范,值得收藏

    概述MySQL数据库与 Oracle、 SQL Server 等数据库相比,有其内核上的优势与劣势。我们在使用MySQL数据库的时候需要遵循一定规范,扬长避短。1、数据库设计以下所有规范会按照【高危】、【强制】、【建议】三个级别进行标注,遵守优先级从高到低。对于不满足【高危】和【强制】两个级别的设计,DBA会强制打回要求修改。1、库名【强制】库的名称必须控制在32个字符以内,相...

    MySQL 2020年04月02日 2201 0
  • SQL Server 常用近百条SQL语句(收藏版)

    1. sqlserver查看实例级别的信息,使用SERVERPROPERTY函数select SERVERPROPERTY ('propertyname')2. 查看实例级别的某个参数XX的配置select * from sys.configurations where name='XX'3. 更改实例级别的某个参数XX的值sp_configure 'XX','0' RECON...

    SQL SERVER 2020年04月01日 2949 0
  • MySQL 亿级数据量实时同步,如何完美 Hold 住

    背景MySQL 由于自身简单、高效、可靠的特点,成为小米内部使用最广泛的数据库,但是当数据量达到千万 / 亿级别的时候,MySQL 的相关操作会变的非常迟缓;如果这时还有实时 BI 展示的需求,对于 MySQL 来说是一种灾难。为了解决 SQL 查询慢,查不了的业务痛点,我们探索出一套完整的实时同步,即席查询的解决方案,本文主要从实时同步的角度介绍相关工作。早期业务借助 Sqo...

    MySQL 2020年03月30日 2351 0
  • 高并发环境下,先操作数据库还是先操作缓存?

    前言在分布式系统中,缓存和数据库同时存在时,如果有写操作的时候,先操作数据库还是先操作缓存呢?先思考一下,可能会存在哪些问题,再往下看。下面我分几种方案阐述。 缓存维护方案一假设有一写(线程A)一读(线程B)操作,先操作缓存,在操作数据库,如下流程图所示:1)线程A发起一个写操作,第一步del cache2)线程A第二步写入新数据到DB3)线程B发起一个读操作,cache mi...

    MySQL 2020年03月30日 1584 0
  • Mysql数据库表引擎与字符集

    Mysql数据库表引擎与字符集1.服务器处理客户端请求其实不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:客户端进程向服务器进程发送一段文本(MySQL语句),服务器进程处理后再向客户端进程发送一段文本(处理结果)。那服务器进程对客户端进程发送的请求做了什么处理,才能产生最后的处理结果呢?客户端可以向服务器发送增删改查各类请求,我们这里以比较复杂的查询请求...

    MySQL 2020年03月27日 1917 0
  • 数据库分库分表最佳实践及说明

    数据库瓶颈不管是IO瓶颈还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载的活跃连接数的阈值。在业务service来看, 就是可用数据库连接少甚至无连接可用,接下来就可以想象了(并发量、吞吐量、崩溃)。IO瓶颈第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询会产生大量的IO,降低查询速度->分库和垂直分表第二种:网络IO瓶颈,...

    MySQL 2020年03月27日 2257 0