Mysql
文章平均质量分 62
mysql
富士康质检员张全蛋
人生实难,唯有自渡。只有接受了真实现的现状和真实的自己,调整好心态,才能脚踏实地的活着,然后去发现角落处的那些惊喜和美好,去相信一切苦难困境都会过去!“即使身处阴沟,也要记得仰望星空”。
展开
-
MySQL yum和源码安装
Mysql 数据库简介MySQL 是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最用标准化语言。关系数据库管理系统(Relational Database Management System,RDBMS),是将数据组织为相关的行和列的系统,而管理关系数据库的计算...原创 2020-03-19 20:55:35 · 291 阅读 · 0 评论 -
Mysql yum安装mysql5.7
先来下载 mysql 的 yum 源,是一个 rpm 包的形式,官网的地址为:http://dev.mysql.com/downloads/repo/yum/(1)下载mysql的yum源的rpm包[root@master ~]# cd /usr/src/[root@master src]# lsdebug kernels mysql57-community-release...原创 2020-03-23 23:21:45 · 224 阅读 · 0 评论 -
Mysql 两种登入方式Socket TCP/IP
触发器是一类特殊的事务,可以监视某种数据操作(insert/update/delete)并触发相关操作(insert/update/delete)。触发器应用的场合:创建触发器的四大要素:(1)监视的表:即监视的地点(table)(2)监视时间:即insert/update/deltete触发时间: 即after/before(3)触发时间 即insert/upda原创 2017-09-20 17:31:53 · 5283 阅读 · 0 评论 -
Mysql存储引擎
存储过程如同一门程序设计语言,同样包含了数据类型、流程控制、输入和输出和它自己的函数库。--------------------基本语法--------------------一.创建存储过程create procedure sp_name()begin.........end二.调用存储过程1.基本语法:call sp_name()注意:存储过程名称后面必原创 2017-09-25 09:34:28 · 357 阅读 · 0 评论 -
MySQL独享表空间和共享表空间
如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE;如果不会导致唯一值列重复的问题,则插入新行。例如,如果列 a为主键或拥有UNIQUE索引,并且包含值1,则以下两个语句具有相同的效果:复制代码代码如下:INSERT INTO TABLE原创 2017-09-20 10:30:18 · 752 阅读 · 0 评论 -
Mysql 慢查询日志
MySQL 慢查询日志MySQL 有一种日志,叫做慢查询日志,主要就是用来记录一些耗时的查询操作。通过这个日志我们就可以分析出哪些的操作是影响性能的,我们需要对其进行一些优化措施。查看开启状态一、慢查询日志相关参数1、slow_query_log :是否开启慢查询日志,1表示开启,0表示关闭。2、log-slow-queries :旧版(5.6以下版本)MySQ...原创 2020-03-28 16:49:53 · 425 阅读 · 0 评论 -
Mysql主从复制详解
MYSQL主从随着访问量的不断增加,单台MySQL数据库服务器压力不断增加,需要对MYSQL进行优化和架构改造,MYQSL优化如果不能明显改善压力情况,可以使用高可用、主从复制、读写分离来、拆分库、拆分表来进行优化。MYSQL主从复制集群在中小企业、大型企业中被广泛使用,MYSQL主从复制的目的是实现数据库冗余备份,将Master数据库数据定时同步至Slave库中,一旦Master数据库宕...原创 2020-03-20 15:20:15 · 465 阅读 · 0 评论 -
MySQL 浅析binlog三种工作模式
在认识binlog日志三种模式前,先了解一下解析binlog日志的命令工mysqlbinlog。mysqlbinlog工具的作用是解析mysql的二进制binlog日志内容,把二进制日志解析成可以在MySQL数据库里执行的SQL语句。binlog日志原始数据是以二进制形式存在的,需要使用mysqlbinlog工具转换成SQL语句形式。mysql的binlog日志作用是用来记录mysql内部增删改等对mysql数据库有更新内容的记录(对数据库进行改动的操作),对数据库查询的语句如show,select开头原创 2020-07-18 11:01:38 · 1225 阅读 · 0 评论 -
MySQL 一文带你详解 mysql binlog
前言我们都知道,binlog可以说是MySQL中比较重要的日志了,在日常学习及运维过程中,也经常会遇到。不清楚你对binlog了解多少呢?本篇文章将从binlog作用、binlog相关参数、解析binlog内容三个方面带你了解binlog。1.binlog简介binlog即binary log,二进制日志文件。它记录了数据库所有执行的DDL和DML语句(除了数据查询语句select、show等),以事件形式记录并保存在二进制文件中。binlog主要有两个应用场景,一是用于复制...原创 2020-07-18 10:57:49 · 694 阅读 · 0 评论 -
MySQL 主主复制
两台MySQL之间互为彼此的从库,同时又是主库。这种方案,既做到了访问量的压力分流,同时也解决了“单点故障”问题。任何一台故障,都还有另外一套可供使用的服务mysql 的主主复制就是两台 mysql 节点互为主从。搭建起来 mysql 主从,再来搭建主主复制就非常简单了。在原来主从的基础上做如下操作:1.开启原从节点的 binlog 日志2.原从节点创建读取副本的用户3.在...原创 2020-03-30 19:05:49 · 268 阅读 · 0 评论 -
MySQL gtid半同步复制详解与主从搭建
MySQL复制默认是异步复制,存在一定的概率备库与主库的数据是不对等的,如果Master宕机,事务在Master上已提交,但很可能这些事务没有传到任何的Slave上,此时Slave也可能会丢失事务。在半同步复制的架构下,当master在将自己binlog发给slave上的时候,要确保slave已经接受到了这个二进制日志以后,才会返回数据给客户端。半同步复制原理半同步复制架构图如下所示:半同步复制的概念:1,当Slave主机连接到Master时,能够查看其是否处于半同步复制的机制。..原创 2020-06-04 11:49:45 · 696 阅读 · 0 评论 -
MySQL 聊聊MySQL GTID机制
MySQL GTID概念GTID的概念 GTID sets mysql.gtid_executed Table mysql.gtid_executed Table Compression GTID是由源库(主库)每次事务提交产生的唯一标识,这个GTID不仅是单实例的唯一标识,而且在一组主从结构中也是唯一标识,并且所有的GTID和所有的事务都是一对一的关系。GTID格式如下:GTID = source_id:transaction_idsourcei...原创 2020-07-03 12:00:31 · 514 阅读 · 0 评论 -
MySQL gtid工作原理浅析
Gtid概念从 MySQL 5.6.5 开始新增了一种基于 GTID 的复制方式。通过 GTID保证了每个在主库上提交的事务在集群中有一个唯一的ID。这种方式强化了数据库的主备一致性,故障恢复以及容错能力。在原来基于二进制日志的复制中,从库需要告知主库要从哪个偏移量进行增量同步,如果指定错误会造成数据的遗漏,从而造成数据的不一致。借助GTID,在发生主备切换的情况下,MySQL的其它从库可以自动在新主库上找到正确的复制位置,这大大简化了复杂复制拓扑下集群的维护,也减少了人为设置复制位置发生误操作的风原创 2020-06-04 22:09:42 · 1531 阅读 · 0 评论 -
MySQL完全备份、增量备份和差异备份
RAC开启归档模式一般在安装数据库时,默认是开启归档的,但是因为新创建的数据库大部分要做大量的数据操作,前期避免不必要的归档大量产生导致的磁盘容量告警问题,所以会建库时关闭归档,在此对在oracle RAC集群中建库时关闭归档,在以后管理中如何开启归档做一个记录。oracle用户登录数据库中查看数据库是否开启归档和数据库状态:(1)查看归档状态SQL> archive l...原创 2018-12-17 17:23:32 · 629 阅读 · 0 评论 -
mysqldump - 给 DBA 的 25 个小技巧
一 介绍 MySQL 5.6版本提供了很多性能优化的特性,其中之一就是 Multi-Range Read 多范围读(MRR) , 它的作用针对基于辅助/第二索引的查询,减少随机IO,并且将随机IO转化为顺序IO,提高查询效率。二 原理在没有MRR之前,或者没有开启MRR特性时,MySQL 针对基于辅助索引的查询策略是这样的:selectnon_key_col转载 2017-10-30 17:45:48 · 494 阅读 · 0 评论 -
MySQL mysqldump搭建主从复制
Mysql分为服务端和客户端,服务端运行的是Mysqld进程,mysqld是用来管理数据库和表的进程。另外还有客户端的工具,客户端工具可以通过网络与服务端链接起来。客户端的工具会发出查询,mysqld进程对用户发出的指令进行预处理,处理完之后将数据库的内容再通过网络返回给客户端。还有一种是非客户端的程序,这些程序有一些是修复程序,由于不支持网络协议仅仅只允许在服务端。如myisamchk原创 2017-09-27 17:07:59 · 4513 阅读 · 0 评论 -
Mysql备份原理与工具mysqldump之--single-transaction,--master-data
MySQL备份原理数据备份是数据安全的底线,在任何场景下面,无论是上线后的数据回滚,数据丢失都能够有效的止损,将损失降到最低程度。衡量数据备份与恢复的两个重要指标:对于原创 2020-06-16 10:53:09 · 11640 阅读 · 3 评论 -
Mysql mysqldump命令使用之 --single-transaction --hex-blob
--single-transaction该参数通过在一个事务中导出所有表从而创建一个一致性的快照,当前版本的MySQL只可以对innodb 引擎保证一致性,导出过程中不会锁表其他引擎,如MyISAM 在导出期间会锁表为保证有效的dump文件,即正确的表内容和二进制日志位置,在导出的过程中不能有如下操作 ALTER TABLE DROP TABLE RENAME TABLE TRUNCATE TABLE 如指定了 --lock-tables参数则会自动将其.转载 2020-06-03 23:10:58 · 3984 阅读 · 0 评论 -
Mysql mysqldump 导出事件,存储函数,二进制blob
MySQL前缀索引和索引选择性有时候需要索引很长的字符列,这会让索引变得大且慢。通常可以索引开始的部分字符,这样可以大大节约索引空间,从而提高索引效率。但这样也会降低索引的选择性。索引的选择性是指不重复的索引值(也称为基数,cardinality)和数据表的记录总数的比值,范围从1/#T到1之间。索引的选择性越高则查询效率越高,因为选择性高的索引可以让MySQL在查找时过滤掉更原创 2017-09-27 11:36:20 · 1835 阅读 · 0 评论 -
MySQL mydumper使用方法详解
mysqldumper而你的MySQL版本应该更新到5.5版本以上,mydumper作为一个实用工具,能够良好支持多线程工作,可以并行的多线程的从表中读入数据并同时写到不同的文件里这使得它在处理速度方面快于传统的mysqldump。mysqldumper其特征之一是在处理过程中需要对列表加以锁定,如果我们需要在工作时段执行备份工作,那么会引起DML阻塞不过现在的MySQL一般都是主从结构,备份也大部分在从上进行,所以锁的问题可以不用考虑因此mydumper能更优秀快速的完成备份任务mydumpe原创 2020-06-21 12:56:08 · 2215 阅读 · 0 评论 -
MySQL myloader工具介绍与使用
myloader恢复主要流程1、首先由myloader主线程完成建库建表,依次将备份目录下建库和建表文件执行应用到目标数据库实例中;2、接着myloader主线程会生成多个工作线程,由这些工作线程将所有database.table.*.sql文件中的记录导入到对应表中,这个阶段是并行的,并行粒度为文件,工作线程完成所有database.table.*.sql 文件数据导入后销毁;3、最后主线程将创建函数、存储进程、事件,以及创建表视图、触发器的文件执行导入对应数据库和表中。myloade.原创 2020-06-25 14:47:48 · 3665 阅读 · 1 评论 -
Shell if语句实现mysqldump全量备份+mysqlbinlog二进制日志增量备份
Mysql有许多内置的值都是已经配置好的,即缺省值。但是也可以在mysql运行的时候对其配置进行修改。root@localhost /]# vim /etc/my.cnf[mysqld]## Remove leading # and set to the amount of RAM for the most important data# cache in MySQL. Sta原创 2017-10-18 16:39:03 · 1003 阅读 · 0 评论 -
Mysql xtrabackup工具详解和使用说明
Xtrabackup介绍 MySQL冷备、mysqldump、mydumper、MySQL热拷贝都无法实现对数据库进行增量备份。在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况下,可以每天进行完整备份,如果每天产生的数据量较大,需要定制数据备份策略。例如每周实用完整备份,周一到周六实用增量备份。而Percona-Xtrabackup就是为了实现增量备份而出现的一款主流备份工具,xtrabakackup有2个工具,分别是xtrabakup、innobakupe。原创 2020-06-28 17:10:48 · 1099 阅读 · 0 评论 -
MySQL xtrabackup全量备份+增量备份+二进制日志恢复实战
做增量备份前,首先要进行一次全量备份。全量备份:[root@localhost ~]# innobackupex --user=root --password=root --no-timestamp --bakcup /backup/full[root@localhost full]# cat xtrabackup_binlog_infomysql-bin.000002 411[root@localhost full]# cat xtrabackup_checkpointsbackup_.原创 2020-06-30 16:14:04 · 605 阅读 · 0 评论 -
MySQL 组复制(MGR) 以及常用复制技术介绍
异步复制传统的MySQL复制采用主从的方式进行,可以一主一从也可以一主多从主库执行一个事务,提交后稍后异步的传送到从库中如果是基于语句的复制则会重新执行,如果是基于行的负责则会应用日志,同时是shared-nothing的架构,即所有服务器拥有同样的数据复制。传统的MySQL主从复制架构是MySQL保持数据一致性的最基本架构,如下图所示,一主一从架构,从库给主库发起读数据请求后,主库会通过 dump线程把binlog日志文件推送给从库,从库的I/O线程把接收到数据更新到relay log,之后从原创 2020-05-29 20:27:22 · 1810 阅读 · 0 评论 -
Mysql MGR简介与单主模式搭建初体验
Group Replication是MySQL官方发布的一个开源插件,用来实现MySQL高可用集群。2016.12月Group Replication的第一个GA版本正式发布于MySQL5.7.17中。想要使用Group Replication功能,需要安装MySQL5.7.17及以后的版本。组的概念:Group Replication插件中有组(group)的概念,被Group Replication插件连接在一起的MySQL服务器是一个高可用组,组内的MySQL服务器被称为成员(Mem.原创 2020-05-28 09:43:16 · 497 阅读 · 0 评论 -
MySQL MGR 单组模式转换为多组模式
在之前的博客已经介绍了MGR单主模式的部署准备以及如何部署,这节内容为如何部署多主模式MGR默认部署完后是单主模式,我们需要做些更改来切换到多主模式,切换需要重启引导组复制我们假设已经搭建好了单主模式检查当前模式任意服务器mysql> select * from performance_schema.replication_group_members;+---------------------------+-----------------------------...原创 2020-06-13 11:17:24 · 416 阅读 · 0 评论 -
Mysql MGR 多主模式下的限制
部署MGR的需求 基础架构innodb存储引擎数据必须存储在innodb存储引擎内我们通过设置如下参数来禁用其他存储引擎disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"主键每张表都必须定义一个主键或者等价的非空的唯一键IPv4网络服务器必须支持IPv4网络网络性能MGR组中的各个服务器必须相互联通且网络性能要求较高数据库配置要求binlog日志必须开启二进制日志.原创 2020-06-15 11:49:48 · 1416 阅读 · 0 评论 -
MySQL MGR 某个节点宕机之后开启组复制
环境如下 主机名 IP 系统 数据库版本 db01 192.168.179.102 CentOS7.4 5.7.30 db02 192.168.179.103 CentOS7.4 5.7.30 db03 192.168.1原创 2020-05-31 10:49:34 · 1415 阅读 · 0 评论 -
MySQL MGR 宕机后如何开启复制
MySQL的btree索引和hash索引的区别Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。可能很多人又有疑问了,既然 Hash 索引原创 2017-09-25 15:35:15 · 1822 阅读 · 0 评论 -
Mysql proxy实现读写分离
MySQL读写分离概念MYSQL读写分离的原理其实就是让Master数据库处理事务性增、删除、修改、更新操作(CREATE、INSERT、UPDATE、DELETE),而让Slave数据库处理SELECT操作,MYSQL读写分离前提是基于MYSQL主从复制,这样可以保证在Master上修改数据,Slave同步之后,WEB应用可以读取到Slave端的数据。读写分离实现方式实现MYS...原创 2020-03-24 10:58:05 · 401 阅读 · 0 评论 -
Mysql基于Mycat实现读写分离
MycatMycat基于阿里开源的Cobar产品而研发 , 一个彻底开源的,面向企业应用开发的大数据库集群 , 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 ,MYCAT并不依托于任何一个商业公司, 永不收费,永不闭源 !下载mycat http://dl.mycat.io/1.6.7.1/mycat: 192.168.179.101maste...原创 2020-03-26 00:07:45 · 446 阅读 · 0 评论 -
Haproxy实现Mysql负载均衡
Haproxy包下载地址https://www.haproxy.org/--这个网站去下载你所需要的Haproxy包比较 Lvs,HaProxy,NginxNginx httpLVSHaProxy TCP-->代理mysqlHAProxy可以对Mysql读进行负载均衡,对后端的MySQL节点进行检测和负载均衡,不过在后端的MySQL slaves数...原创 2020-03-27 16:11:16 · 2804 阅读 · 0 评论 -
MySQL分库分表详解
Mysql数据库备份与还原数据库里面最贵的不是硬件,不是软件,而是数据。如果数据丢失了那么造成的损失是无法估量的,所以数据库里面的数据要做经常性的备份的操作。备份过后即使数据库的数据发生损坏或者丢失。那么也可以从备份的数据里面进行恢复。对数据库进行备份的命令是mysqldump,其实这个也是一个工具。这个工具在bin下面,用于对数据库进行备份。1、使用mysqldump命令原创 2017-10-12 09:03:09 · 411 阅读 · 0 评论 -
初识Mycat以及数据分片
linux ip设置1.ifconfig -a 获取HWADDR 00:50:56:BA:37:E22.ifconfig eth0 192.168.1.152 netmask 255.255.255.0 buha3.cd /etc/sysconfig/network-scripts/ 4.vi ifcfg-eth0 (看ifconfig -a是哪个文件)DEVI原创 2018-03-09 09:07:17 · 314 阅读 · 0 评论