1.如何解决主从复制延迟的问题? (1)主从复制原理 http://www.cnblogs.com/jenvid/p/8410922.html 1.salve执行slave start,salve服务IO线程会通过授权的用户连接上master,并请求master从指定的文件和位置之后发送bin-log日志内容 2.master服务器接收到来自slave服务器的IO线程请求后,master服务器上的IO线程根据slave服务器发送的指定bin-log日志之后的内容,然后返回给slave的IO线程,…
问题: 1.为什么数据目录和日志目录需要分开? 2.如何标准化配置多实例?(例如:一台物理主机上部署3306与3307两个实例) 3.详细描述MySQL编译安装的过程(截图安装步骤) 1.为什么数据目录和日志目录需要分开? 不同作用的文件放到不同的磁盘.目录之上 数据文件 随机读写,可以放在高速盘上,如ssd.raid10 追求响应时间 日志文件 顺序写,可以放在raid5上 如果用rsync同步到远端时,可以同步整个日记目录 如果跟数据文件放在一起,数据文件会被一起同步过去 追求吞吐量 2.如…
一 服务器参数调优,有哪些关键点? 1. 应用访问优化 优化方法 性能提升效果 优化成本 说明 减少数据访问能不访问就不访问-减少磁盘IO 1~1000 低 缓存服务器缓存mysql数据,Redis.memorycache 返回更少的数据较少网络传输和磁盘IO 1~100 低 光折射损耗,请求距离/光速=响应时间 减少交互次数 较少网络传输 1~20 低 存储过程(缺乏扩展性),但很少使用,因此应用层实现 IOPS的一些数据 SAS的IOPS 100-200,顺序读写吞吐量大,通常放置顺序写的l…
一.MHA是什么?能干什么的 (1)以Perl语言写的一套Mysql故障切换方案,一个脚本管理工具 (2)保障数据库的高可用性 (3)修复多个slave之间的差异日志,最终使所有的slave保持数据一致 (4)能在0-30秒内选定新Master,实现mysql故障转移 二.MHA组成部分 MHA manager 管理节点 可以部署在一台单独的机器上,管理多套一主多从的集群,也可以部署在一台slave之上,作用: (1)运行一些管理和监控工具 (2使用masterha_manager工具自动监控m…
mysql启动/关闭 my.cnf的调用顺序 [root@docker02 bin]# ./mysql --help Default options are read from the following files in the given order: /etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf 推荐启动 ./mysqld_safe --defaults-file=/data/my3306/my.cnf --user=mysql & 其他启动/关闭 #SU…
监控mysql存活 1.配置agent自定义参数 vi /usr/local/zabbix/etc/zabbix_agentd.conf Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ cd /usr/local/zabbix/etc/zabbix_agentd.conf.d vi userparameter.conf UserParameter=mysql.check_mysql_status,sh /usr/local/zabbix/e…
一 zabbix功能简介 1.zabbix三大监控组件 zabbix server web gui database zabbix_server zabbix proxy agent client 2.监控流程 agent client安装在被监控的主机 agent负责定期收集客户端本地各项数据,并发送到server端 zabbix server收到数据,将数据存储到数据库中 用户基于zabbix web看到图形数据 3.zabbix组件功能 zabbix server 负责接收agent发送的…
1.使用mydumper工具全库备份. 1)源码编译安装 2)全库备份 2.误操作truncate table gyj_t1;利用mysqldump的备份和binlog日志对表gyj_t1做完全恢复. 如下场景: create table gyj_t1(id int,name varchar(10)); insert into gyj_t1 values(1,'AAAAA'); commit; mysqldump全库备份... insert into gyj_t1 values(2,'BBBBB…
接口测试框架层级目录结构示意图: page目录下面的mysqlTest.py:存放的是mysql的操作代码 utils目录下面的helper.py:存放的是公共的配置方法 log目录log.md:存放的日志信息 data目录下面:存放的是公共数据的分离 testCase目录下面的test_tasks文件:存放的是接口测试用例 config目录config.ini文件:存放的配置文件信息 我之前在helper.py文件中写入过getConfig这个方法方便我们后面使用到mysql读取config.…
1.什么是MVCC?有什么作用? Multi-Version Concurrency Conrol 多版本并发控为解决数据库并发读写可能会出现不一致数据的情况,需要实现数据库的并发访问控制,写时复制产生数据副本. 2.ACID中的I是怎么实现在的? Isolation隔离性 读未提交 A事务更改了某个数据但并未提交,B事务可以访问这个数据的旧值. 读已提交 A事务更改了某个数据并提交,B事务只能读到更改后的数据. 可重复读 A事务更改某个数据前,B事务能读到这个数据,A更改这个数据后,B事务能读…
1.重现故障5---线上执行update报错,并处理.(表结构和UPDATE语句自己构造,请给出详细步骤) 1)update故障出现ERROR 1206 (HY000): The total number of locks exceeds the lock table size root@slave01 15:34: [test]> select count(*) from AZ2C_D01600_1; +----------+ | count(*) | +----------+ | 10394…
thread pool的原理是什么? 为什么用double write就能解决page坏的问题? Innodb redo log 与 binlog有什么区别?有了Innodb redo log为什么还要binlog? 1. thread pool的原理是什么? 高并发.高性能 每一个连接到数据库都需要CPU分配线程栈,进行身份验证.建立上下文信息.执行请求.返回结果,关闭连接,释放资源 并发访问时,资源会被不断请求和释放,请求释放会大量消耗资源,导致资源率用率降低 线程池 预先创建一定是数量的线…
Online DDL: 一.FIC之前的添加删除二级索引: 1.首先创建临时表,定义目标新表的选项和索引 2.逐行拷贝数据到临时表 3.插入行时更新索引信息 4.数据全部被拷贝到新表后,删除旧表,rename新表 为保证数据一致性,旧表复制数据到新表的全程只允许读,不允许改 二.5.1 5.5FIC新特性 fast index creation 1.创建二级索引给表加上共享S锁 2.创建过程不需要重建表 3.删除二级索引只需要更新内部视图,并标记索引的空间可用,去除数据库元数据的关于该索引的定义…
压测 1.查看机器负载load top - load average 1m 5m 15m cat /proc/loadavg 与CPU个数有关,1个load表示1个CPUcat /proc/cpuinfo |grep processor 2.CPU使用率 top us sy id wa hi si st cat /proc/stat 3.QPS SSD查询QPS约2w 评估qps=(总pv * 80%)/(24 * 60 * 60 * 20%) 机器数=总qps/单台机器极限qps sysben…
1.MySQL参数autocommit生产环境设1还是0?为什么? 2.MySQL参数tx_isolation生产环境上大多数是设什么值,为什么? 3.与MySQL锁相关的有哪些因素? 1.MySQL参数autocommit生产环境设1还是0?为什么? mysql> show variables like 'autocommit'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | au…
http://blog.csdn.net/leshami/article/details/46815553 https://www.cnblogs.com/zhoujinyi/p/3423641.html 编译安装mydumper https://launchpad.net/mydumper https://github.com/maxbube/mydumper wget https://launchpad.net/mydumper/0.9/0.9.1/+download/mydumper-0.…
1.为什么创建一个InnoDB表只分配了96K而不是1M? 2.解析第2行记录格式?(用下面的表定义和数据做测试) mysql> create table gyj_t3 (),name2 varchar(),name3 varchar(),name4 varchar(),name5 varchar()); Query OK, rows affected (0.11 sec) mysql> insert into gyj_t3 (,'A','BB','CCC','DDDD'); Query OK…
mysql打开.查看.清理binlog 1.开启日志 log_bin=/var/lib/mysql/mysql-bin mysql> show variables like '%log_bin%'; +---------------------------------+--------------------------------+ | Variable_name | Value | +---------------------------------+--------------------…
1.ssh_user 使用VIP方式需要在新的master主机上对网卡启alias并设置IP,普通用户没权限 2.VIP问题 配置以后主从后,在MHA管理节点启动masterha_manager,VIP并没有在master上启起来 change master后,新的master上VIP起来了 再次change master后,VIP还是在原来的master上,并没有进行摘除重启启动 3.slave的只读 最开始的slave需要配置为只读set global read_only=1 slave提升…
目录 准备工作 主从复制原理 开始搭建主从复制 本文将使用mariaDB数据库实现主从复制,其步骤与MySQL数据库无差异. MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可. 开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避免这个风险. MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的替代品. Red Hat Enterprise Linux/Ce…
主从形式   mysql主从复制 灵活 一主一从 主主复制 一主多从---扩展系统读取的性能,因为读是在从库读取的: 多主一从---5.7开始支持 联级复制---     用途及条件   mysql主从复制用途 实时灾备,用于故障切换 读写分离,提供查询服务 备份,避免影响业务   主从部署必要条件: 主库开启binlog日志(设置log-bin参数) 主从server-id不同 从库服务器能连通主库   主从原理 mysql主从复制原理   从库生成两个线程,一个I/O线程,一个SQL线程:…
MySQL主从复制原理介绍 一.复制的原理 MySQL 复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新.删除等等).每个从服务器从主服务器接收主服务器已经记录到其二进制日志的保存的更新,以便从服务器可以对其数据拷贝执行相同的更新. MySQL 使用3个线程来执行复制功能,其中1个在主服务器上,另两个在从服务器上.当发出START SLAVE时,从服务器创建一个I/O线程,以连接主服务器并让它发送记录在其二进制日志中的语句.主服务器创建一个线程将二进制日志中的内容发送到从服务器.该线程…
Mysql主从复制原理及配置 1.复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一…
简介 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收从那时起…
1.主从复制概述 MySQL主从复制也可以称为MySQL主从同步,它是构建数据库高可用集群架构的基础.它通过将一台主机的数据复制到其他一台或多台主机上,并重新应用relay log中的SQL语句来实现复制功能.MySQL支持单向.双向.链式级联.异步复制,5.5版本之后加入的半同步复制,5.6版本之后的GTID复制,MySQL5.7的多源复制.并行复制.loss-less复制. 1.1 常见的几种主从架构 1)单向主从模式:Master ——> Slave 2)双向主从模式:Master <=…
本文转自https://blog.csdn.net/php_younger/article/details/59673879 mysql 主从复制原理 主从形式   mysql主从复制 灵活 一主一从 主主复制 一主多从---扩展系统读取的性能,因为读是在从库读取的: 多主一从---5.7开始支持 联级复制---       用途及条件   mysql主从复制用途 实时灾备,用于故障切换 读写分离,提供查询服务 备份,避免影响业务   主从部署必要条件: 主库开启binlog日志(设置log-b…
关于mysql的主从复制,之前一直在听说这个话题,一直没有实现,昨天学习了下,原来是这么回事: 既然是主从复制,那么肯定有主有从,也就说一个主数据库(一般为写库),一个从数据库(读库).主数据库更新了,从数据库也要随之更新进行数据同步. 我们一般是这样实现的,前一篇博文我们写了配置mysql的多实例,比如我们配置3380端口的mysql管理工具中的数据库为主数据库,配置3381端口中的数据库为从数据库,即我们使用了两个mysql实例,后面也会有一主多从,多个mysql实例. 关于mysql的主从…
一.主从复制原理 利用MySQL提供的Replication,其实就是Slave从Master获取Binary log文件,然后再本地镜像的执行日志中记录的操作.由于主从复制的过程是异步的,因此Slave和Master之间的数据有可能存在延迟的现象,此时只能保证数据最终的一致性. 在master与slave之间实现整个复制过程主要由三个线程来完成: 1.Slave SQL thread线程,在slave端 2.Slave I/O thread线程,在slave端 3.Binlog dump th…
主从复制原理 实质就是通过二进制的sql文件实现主从复制 MySQL的主从复制是MySQL本身自带的一个功能,不需要额外的第三方软件就可以实现,其复制功能并不是copy文件来实现的,而是借助binlog日志文件里面的SQL命令实现的主从复制,可以理解为我再Master端执行了一条SQL命令,那么在Salve端同样会执行一遍,从而达到主从复制的效果. 从库生成两个线程,一个I/O线程,一个SQL线程: i/o线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志…
如何实现 MySQL 的读写分离? 其实很简单,就是基于主从复制架构,简单来说,就搞一个主库,挂多个从库,然后我们就单单只是写主库,然后主库会自动把数据给同步到从库上去. MySQL 主从复制原理的是啥? 主库将变更写入 binlog 日志,然后从库连接到主库之后,从库有一个 IO 线程,将主库的 binlog 日志拷贝到自己本地,写入一个 relay 中继日志中.接着从库中有一个 SQL 线程会从中继日志读取 binlog,然后执行 binlog 日志中的内容,也就是在自己本地再次执行一遍 S…