
Mysql
jzzw
这个作者很懒,什么都没留下…
展开
-
MySQL MGR 安装
安装MGR1.三个节点分别安装MySQL 版本我选择了8.0.18,三个节点参数文件基本类似,有多主模式和单主模式,我配置的是多主模式参数文件如下,仅供参考[client]port = 3306socket = /tmp/mysql80.sock[mysqld]#skip-grant-tablescharacter_set_server=utf8init_connec...原创 2019-11-01 20:35:24 · 5249 阅读 · 0 评论 -
Mysql面试可能会问到的基础知识
mysql复制流程 master的log thread将数据改变写入到binlog里 --->slave通过i/o thread发请求,master的binlog dump thread将binary log events传送给slave,slave的i/o thread将其写到relay log里 --->slave的sql thread将relay log ...原创 2019-10-28 18:47:28 · 196 阅读 · 0 评论 -
Mysql的隐式转换
Mysql的隐式转换:来我们先看看官方文档: When an operator is used with operands of different types, type conversion occurs to make the operands compatible. Some conversions occur implicitly. For exam...原创 2019-10-23 18:42:26 · 863 阅读 · 0 评论 -
count(*),count(1),count(字段)的对比
Oracle:参考 https://cloud.tencent.com/developer/article/1388976的方法,使用10053进行分析。使用的版本为Oracle 11.2.0.4SQL> alter session set events='10053 trace name context forever,level 2';会话已更改。SQL> cr...原创 2019-10-12 11:32:24 · 287 阅读 · 0 评论 -
Mysql学习之初识Mycat
测试环境两台虚拟机:192.169.10.241(node1)、192.169.10.242(node2)操作系统:RHEL6.8Mysql版本:5.7.19其中:node1的3306、3307、node2的3306 为一主两从的结构 node2的3307为单实例MyCat安装下载地址: http://dl.mycat.io/1.6....原创 2019-10-08 20:42:46 · 858 阅读 · 0 评论 -
Mysql Seconds_Behind_Master
Seconds_Behind_Master:先看看官方文档的说法(refman-5.7-en.a4.pdf):This field is an indication of how "late" the slave is: When the slave is actively processing updates, this field shows the difference bet...原创 2019-09-29 17:04:44 · 950 阅读 · 0 评论 -
Mysql InnoDB Buffer Pool的逻辑链表
Mysql InnoDB Buffer Pool:innodb_buffer_pool_size:InnoDB Buffer Pool的总大小innodb_buffer_pool_instances:InnoDB Buffer Pool的个数innodb_buffer_pool_size/innodb_buffer_pool_instances即为每个instance的大小每个Buff...原创 2019-09-16 17:44:52 · 284 阅读 · 0 评论 -
Mysql学习之ProxySQL
环境介绍:在本实验中,我用的是两台虚拟机(192.169.10.241,192.169.10.242)搭建环境。其中:192.169.10.241上安装一主(3306)、一从(3307)、ProxySQL192.169.10.242上安装一从(3306)Mysql版本:5.7...原创 2019-08-21 11:04:56 · 324 阅读 · 0 评论 -
Mysql学习之MHA
环境介绍: 一般情况下,搭建MHA需要四台服务器,即一主+两从+管理节点。 在本实验中,我用的是两台虚拟机(192.169.10.241,192.169.10.242)搭建环境。 其中: 192.169.10.241上安装一主(3306)、一从(3307)、mha-manage、mha-node ...原创 2019-08-09 08:56:45 · 318 阅读 · 0 评论 -
Mysql学习之主从复制数据校验
工具:percona-toolkit的pt-table-checksum和pt-table-sync(version 3.0.13)模拟场景:从库插入数据,模拟数据不同步mysql> insert into test.test values(118,118,118);Query OK, 1 row affected (0.09 sec)pt-table-checksu...原创 2019-08-06 14:46:47 · 410 阅读 · 0 评论 -
Mysql学习之半同步复制
现有环境: Mysql 5.7.19+基于GTID复制半同步复制环境搭建: 1)主从库上分别安装半同步复制插件 主:mysql> install plugin rpl_semi_sync_master soname 'semisync_master.so';Query OK, 0 rows affected (0.45 sec)mysql&g...原创 2019-08-04 17:24:57 · 169 阅读 · 0 评论 -
Mysql学习之主从复制故障处理
1.1062(主键冲突)模拟故障: 从库先插入:mysql> insert into test values(1,1,1);Query OK, 1 row affected (0.14 sec) 主库再插入:mysql> insert into test values(1,1,1);Query OK, 1 row affected...原创 2019-08-04 15:28:00 · 194 阅读 · 0 评论 -
Mysql学习之XtraBackup(4)-------使用XtraBackup搭建Mysql主从
-------配置Master-Slave(基于位点)环境介绍: 服务器:RHEL 6.8 Master_Port:3306 Slave_Port:3307 Mysql:5.7.19-log Xtrabackup:xtrabackup version 2.4.15Master部分:1.Master设置复制用户,授...原创 2019-07-31 11:40:16 · 356 阅读 · 0 评论 -
Mysql学习之XtraBackup(3)-------流备份与远程备份
流备份相当于备份+打包,优势在于不会占用额外的存储空间,备份打包一步到位非压缩备份:innobackupex --defaults-file=/etc/my.cnf -ubkpuser -pxxx --no-timestamp --stream=tar /tmp >/u01/mysqlbackup/all-20190729bak.tarorxtrabackup --d...原创 2019-07-29 20:15:44 · 867 阅读 · 0 评论 -
Mysql学习之XtraBackup(2)-------增量备份与恢复
增量备份先做一次全量备份:innobackupex --defaults-file=/etc/my.cnf -ubkpuser -pxxx --no-timestamp /u01/mysqlbackup/all-20190729bak......190727 14:35:57 completed OK!orxtrabackup --defaults-file=/etc/m...原创 2019-07-29 15:35:26 · 313 阅读 · 0 评论 -
Mysql学习之XtraBackup(1)-------全量备份与恢复
XtraBackupinnobackupex常用参数:-u, --user=name specifies the MySQL username used whenconnecting to the server, if that's not the current user. -p, --password[=name] specifies the password to ...原创 2019-07-28 21:36:24 · 297 阅读 · 0 评论 -
InnoDB参数之explicit_defaults_for_timestamp
explicit_defaults_for_timestamp 1)全局\会话级、动态变量,默认值 OFF,取值范围:OFF/ON 2)当explicit_defaults_for_timestamp为OFF时: 1)表里的第一个timestamp列,如果没有明确指定null、DEFAULT 、ON UPDATE属性的话,Mysql默认会赋予该列DEFAULT C...原创 2019-07-05 10:33:46 · 553 阅读 · 0 评论 -
InnoDB之Redo Log
原创 2019-07-04 21:44:38 · 153 阅读 · 0 评论 -
控制InnoDB LRU链表的两个参数------innodb_old_blocks_time和innodb_old_blocks_pct
innodb_old_blocks_time和innodb_old_blocks_pctinnodb_old_blocks_pct: 1)全局、动态变量,默认值 37,取值范围为5~95。 2)Specifies the approximate percentage of the InnoDB buffer pool used for the old block sublist...原创 2019-07-04 09:31:01 · 2869 阅读 · 0 评论 -
InnoDB表空间及相关参数
InnoDB表空间: 1)系统表空间 2)独立表空间 3)UNDO表空间 4)临时表空间(MySQL5.7新增) 5)通用表空间(MySQL5.7新增)相关参数: innodb_autoextend_increment: 1)全局、动态变量,默认值64MB,取值范围为1~1000MB。 ...原创 2019-07-03 17:59:08 · 670 阅读 · 0 评论 -
Mysql的权限问题以及flush privileges
Mysql的权限问题以及flush privileges:Mysql的权限分为以下四种: 1.全局权限 eg:grant all privileges on *.* to 'test'@'%' with grant option; revoke all privileges on *.* from 'test'@'%'; 2.db...原创 2019-07-01 19:33:18 · 20913 阅读 · 0 评论 -
Mysql主从复制----传统模式切换到GTID模式
传统模式(binlog+position)的复制切换到GTID复制:1)主库和从库上修改参数enforce_gtid_consistency=warn,然后观察error log,确认没有GTID不兼容的语句。mysql> set @@global.enforce_gtid_consistency=warn;Query OK, 0 rows affected (0.12 sec)...原创 2019-06-26 20:29:32 · 941 阅读 · 0 评论 -
Mysql全表扫描时对内存的使用
全表扫描时数据流向:data--->net_buffer--->socket_send_buffer--->socket_receive_buffer--->client其中:1.net_buffer的大小由参数net_buffer_length决定,每个session都有自己的net_buffernet_buffer_length:Dynamic Yes、DE...原创 2019-06-12 16:55:07 · 808 阅读 · 0 评论 -
Mysql InnoDB的内存管理--LRU链表
Mysql Innodb Buffer Pool的LRU设计思路:1.InnoDB把整个LRU链表按照5:3的比例(由参数innodb_old_blocks_pct控制)分为old区域和new区域,其中LRU_OLD占5/8,LRU_NEW占3/82.如果要访问一个不在当前链表里的数据页时,新的数据页会插入到LRU_OLD的队首,如果链表满的话,会从LRU_OLD的队尾相应的淘汰掉一个...原创 2019-06-12 16:49:23 · 1257 阅读 · 2 评论 -
一主多从模式下的读写分离方案设计
在一主多从的环境下,由于同步的问题,会出现主库记录已更改,从库尚未收到binlog或者尚未应用binlog的情况,这时如果我们在从库上读取该记录,会读取到以前的数据,称之为“过期读” ,对于有的业务来说这是不允许的,所以从程序的角度,在程序应用读写分离时,需要考虑到这个因素。强制走主库方案: 对于那些对实时性要求比较高的业务查询请求,将其分配给主库,实时性要求低的...原创 2019-06-12 09:54:25 · 715 阅读 · 0 评论 -
Mysql各版本备库的并行复制策略
Mysql从库的并行复制策略:目的:提高备库应用日志的效率,解决由于主库并发高、备库应用日志慢导致的主备延迟的问题Mysql 5.6之前: 单线程复制 Mysql 5.6: 支持并行复制,粒度为按库并行。每一个worker上构建一个hash列表,同一个库的事务会被分配一个worker里。优势: 1.以库为单位,构建hash列表会很快且不会太大 2.bi...原创 2019-06-01 15:28:56 · 424 阅读 · 0 评论 -
InnoDB下binlog和redo log的写入机制
binlog的参数:sync_binlog:Scope:Global、Dynamic:Yes、Default Value (>= 5.7.7) 1、Default Value (<= 5.7.6) 0、Minimum Value 0、Maximum Value 4294967295sync_binlog=0: Disables synchronization of the bin...原创 2019-05-28 17:49:10 · 1476 阅读 · 0 评论 -
Mysql的锁类型、锁模式、加锁方式
Mysql的锁:锁类型(lock_type):表锁:通过Mysql服务实现,加锁:lock table xxx read/write,解锁:unlock tables;当会话将表加上锁后,在锁释放之前,会话只能访问这些加锁的表表锁里又可以分为读锁和写锁。表锁的加锁规则: 读锁: 1.持有读锁的会话可以读表,但不能写表; 2.允许多个会话同...原创 2019-05-23 20:03:55 · 6598 阅读 · 1 评论 -
Mysql之SQL语句里3个会导致性能问题的场景
条件字段做函数操作: 破坏了索引值的有序性,所以优化器决定放弃走树搜索功能,但不是放弃走索引,只是不能使用索引的快速定位功能,可以使用使用全索引扫描,当然也可能会直接遍历主键索引。mysql> desc select * from t where substr(age,1,1)='1';+----+-------------+-------+------------+-...原创 2019-05-20 16:49:58 · 2041 阅读 · 0 评论 -
事务的四要素、事务的并发问题和MySQL的事务隔离级别
事务的基本要素(ACID):A--Atomicity:原子性,事务要么全部成功,要么全部失败,不可分割C--Consistency:一致性,事务的开始前和结束后,数据库都会处于一致性的状态I--Isolation:隔离性,同一时间只允许一个事务处理同一数据,多个事务之间要相互隔离,相互感觉不到对方的存在D-Durability:持久性,事务提交完成后,对数据库的所有改变被保存到数据库里,是永久性的...原创 2019-05-05 20:11:46 · 441 阅读 · 0 评论 -
MySQL的Binlog和InnoDB的redo log的关系、以及 "两阶段提交"
数据库的日志类型大概可以分为以下三种:逻辑日志,记录的是sql语句的原始逻辑,面向对象是逻辑结构如表、列等物理日志,记录的是文件记录的改变,面向对象是表空间、数据文件、数据页、偏移量等逻辑物理日志,页面内的操作记录的是逻辑日志,页间的操作记录的是物理日志,physical to a page,logical within a pageredo log和binlog的关系和Oracle的redo...原创 2019-05-05 09:43:22 · 3523 阅读 · 0 评论 -
InnoDB四大特性------Change Buffer、Double Write、Adaptive Hash Index、Read Ahead
INNODB特性:1.Change Buffer:The change buffer is a special data structure that caches changes to secondary index pages when those pages are not in the buffer pool.The buffered changes, which may resul...原创 2019-04-24 19:26:50 · 1552 阅读 · 0 评论 -
Mysql学习_InnoDB On-Disk Structures_Data Dictionary、Doublewrite Buffer、Redo Log、Undo Logs
InnoDB Data DictionaryThe InnoDB data dictionary is comprised of internal system tables that contain metadata used to keep track of objects such as tables, indexes, and table columns. The metadata i...原创 2019-04-16 16:17:10 · 283 阅读 · 0 评论 -
Mysql学习_InnoDB On-Disk Structures_Tablespace
TablespacesThe System Tablespace:The InnoDB system tablespace contains the InnoDB data dictionary (metadata for InnoDB-relatedobjects) and is the storage area for the doublewrite buffer, the change...原创 2019-04-15 17:31:53 · 774 阅读 · 0 评论 -
Mysql学习_InnoDB On-Disk Structures_INDEX
IndexesClustered and Secondary Indexes:Every InnoDB table has a special index called the clustered index where the data for the rows is stored. Typically, the clustered index is synonymous with th...原创 2019-04-12 14:32:34 · 289 阅读 · 0 评论 -
Mysql学习_InnoDB On-Disk Structures_TABLE
InnoDB On-Disk StructuresTableCreating InnoDB Tables:CREATE TABLE t1 (a INT, b CHAR (20), PRIMARY KEY (a)) ENGINE=InnoDB;You do not need to specify the ENGINE=InnoDB clause if InnoDB is defined ...原创 2019-04-11 10:30:41 · 581 阅读 · 0 评论 -
Mysql学习_InnoDB In-Memory Structures
下图为InnodbArchitecture今天先来了解下In-Memory Structures这部分Buffer Pool:The memory area that holds cached InnoDB data for both tables and indexes. For efficiency of high-volumeread operations, the buff...原创 2019-04-08 15:43:20 · 562 阅读 · 0 评论 -
Mysql学习总结_20190327_Mysql复制原理和流程
Mysql复制原理和流程:MySQL replication capabilities are implemented using three threads, one on the master server and two on the slave:相关线程: Master:logdump thread(对应Slave的I/O thread) Slave:I/O thr...原创 2019-03-27 20:36:13 · 352 阅读 · 0 评论 -
Mysql学习总结_20190325_Mysql主从复制配置 和 Windows下Mysql安装配置
--------Windows Mysql注册Mysql服务(注:要用管理员身份运行cmd):C:\WINDOWS\system32>mysqld --install Mysql --defaults-file=E:\mysql-5.7.24-winx64\my.ini创建data目录,初始化Mysql:C:\WINDOWS\system32>mysqld --i...原创 2019-03-25 17:31:04 · 160 阅读 · 0 评论 -
Mysql学习总结_20190318_Mysql四类log简介
只是简单的描述了下四类日志的作用、相关参数,后续还需继续拓展补充-----------Mysql二进制日志my.cnf中和二进制日志有关的参数: expire_logs_days=10 max_binlog_size=500M log-bin=/u01/mysql/log/mysql-bin查看二进制日志文件:[root@rhel6...原创 2019-03-18 23:07:59 · 193 阅读 · 0 评论