摘要: MySQL备份,使用xtrabackup备份全实例数据时,会造成锁等待吗?那么如果使用mysqldump进行备份呢? 一、xtrabackup和mysqldump会造成锁等待吗? xtrabackup会,它在备份时会产生短暂的全局读锁FTWL(flush table with read lock), 阅读全文
posted @ 2020-06-18 18:35 捧花大王 阅读(364) 评论(0) 推荐(0)
摘要: MySQL高可用架构应该考虑什么?你认为应该如何设计? 一、MySQL高可用架构应该考虑什么? 1、对业务的了解,需要考虑业务对数据库一致性要求的敏感程度,切换过程中是否有事务会丢失。 2、对于基础设施的了解,需要了解基础设施的高可用的架构。例如 单网线,单电源等情况。 3、对于数据库故障时间掌握, 阅读全文
posted @ 2020-06-18 18:34 捧花大王 阅读(153) 评论(0) 推荐(0)
摘要: 你为什么会决定进行分库分表,分库分表过程中遇到什么难题,如何解决的? 一、为什么决定进行分库分表? 1、根据业务类型,和业务容量的评估,来选择和判断是否使用分库分表。 2、当前数据库本事具有的能力,压力的评估。 3、数据库的物理隔离,例如减少锁的争用、资源的消耗和隔离等。 4、热点表较多,并且数据量 阅读全文
posted @ 2020-06-18 18:31 捧花大王 阅读(203) 评论(0) 推荐(0)
摘要: MySQL主从复制什么原因会造成不一致,如何预防及解决? 一、导致主从不一致的原因主要有: 1、人为原因导致从库与主库数据不一致(从库写入)。 2、主从复制过程中,主库异常宕机。 3、设置了ignore/do/rewrite等replication等规则。 4、binlog非row格式。 5、异步复 阅读全文
posted @ 2020-06-18 18:29 捧花大王 阅读(518) 评论(0) 推荐(0)
摘要: 用什么方法可以防止误删数据? 以下几个措施可以防止误删数据,如下: 1、生产环境中,业务代码尽量不明文保存数据库连接账号密码信息。 2、重要的DML、DDL通过平台型工具自动实施,减少人工操作。 3、部署延迟复制从库,万一误删除时用于数据回档,且从库设置为read-only。 4、确认备份制度及时有 阅读全文
posted @ 2020-06-18 18:26 捧花大王 阅读(755) 评论(0) 推荐(0)
摘要: MySQL每天产生了多大容量的binlog,用SQL语句能查到吗? 首先,这是个假设性命题(又一个钓鱼题)。 这个需求完全可以通过系统层命令,配合MySQL中的“FLUSH BINARY LOGS”快速完成。 运行SHOW MASTER/BINARY LOGS命令能查看全部binlog列表,但没办法 阅读全文
posted @ 2020-06-18 18:23 捧花大王 阅读(434) 评论(0) 推荐(0)
摘要: 你遇到过哪些原因造成MySQL异步复制延迟? 1、master上多为并发事务,salve上则多为单线程回放(MySQL 5.7起,支持真正的并行回放,有所缓解)。 2、异步复制,本来就是有一定延迟的(否则也不叫做异步了,介意的话可以改成半同步复制)。 3、slave机器一般性能比master更弱(这 阅读全文
posted @ 2020-06-18 18:20 捧花大王 阅读(222) 评论(0) 推荐(0)
摘要: 为什么说 pt-osc 可能会引起主从延迟,有什么好办法解决或规避吗? 若复制中binlog使用row格式,对大表使用pt-osc把数据从旧表拷贝到临时表,期间会产生大量的binlog,从而导致延时。 pt-osc在搬数据过程中insert...select是有行锁的,会降低事务并行度;且pt-os 阅读全文
posted @ 2020-06-18 17:44 捧花大王 阅读(244) 评论(0) 推荐(0)
摘要: 主从复制线程均正常(为Yes,也没报错),Master的binlog已到binlog.000100,但slave上看到Master_Log_File却只到binlog.000090,可能的原因有哪些? 首先要注意,这是Master_Log_File IO线程延迟,并不是Relay_Master_Lo 阅读全文
posted @ 2020-06-18 17:41 捧花大王 阅读(411) 评论(0) 推荐(0)
摘要: 明明有个索引“感觉”应该被选中,EXPLAIN时在possible_keys也有它,但最后没被选中,可能的原因有哪些? 一、执行计划如下: desc select * from t1 where c2 >= 2; key: NULL key_len: NULL rows: 14 filtered: 阅读全文
posted @ 2020-06-18 17:32 捧花大王 阅读(1352) 评论(0) 推荐(1)
摘要: 跑truncate table,4亿条数据会不会造成长时间锁表呢?有什么更好的方法吗? 最好是create新表,然后交叉rename对调,再drop/truncate table或其他方式清除数据。 一、可操作步骤: 创建新的 tmp 表,正式表与tmp表表名交换(注意在一个SQL里完成,并锁表) 阅读全文
posted @ 2020-06-18 16:23 捧花大王 阅读(2221) 评论(0) 推荐(0)
摘要: MySQL 8.0相对于5.7的复制改进,都有哪些呢? 一、普通复制功能改进 新增WRITESET并行复制模式,提高并行度,降低延迟。 在多源复制中,可在线动态修改每个channel的filter rule,并且能在P_S中查看/监控。 Binary Log中存储更多元数据,并支持毫秒级别的延迟监控 阅读全文
posted @ 2020-06-18 16:19 捧花大王 阅读(313) 评论(0) 推荐(0)
摘要: MySQL数据导入数据仓库Hadoop有哪几种方式? 1.传统方式,采用mysqldump等工具将数据文件上传至HDFS。 2.使用Sqoop Kettle等ETL工具,将数据表对应导入Hive的数据表。 3.使用kafka+flume方案,将mysql binlog通过流式采集的方式导入Hadoo 阅读全文
posted @ 2020-06-18 14:03 捧花大王 阅读(605) 评论(0) 推荐(0)
摘要: MySQL hang住的原因有哪些? 1.MySQL使用资源过高导致服务器太累扛不住。例如CPU、内存、 I/O等开销。 2.磁盘无可用空间。 3.MySQL频繁的创建和销毁连接。 4.MySQL使用的最大文件打开数和连接数,超过了操作系统的限制。 5.MySQL的锁不能有效的释放。例如持有行锁或者 阅读全文
posted @ 2020-06-18 14:01 捧花大王 阅读(1046) 评论(0) 推荐(0)
摘要: MySQL 8.0 InnoDB哪些新特性你最期待,为什么? 1.数据字典全部采用InnoDB引擎存储,支持DDL原子性、crash safe,metadata管理更完善。 2.快速在线加新列(腾讯互娱DBA团队贡献)。 3.并行redo log,并提升redo log的I/O性能。 4.新增倒序索 阅读全文
posted @ 2020-06-18 13:59 捧花大王 阅读(267) 评论(0) 推荐(0)
摘要: 如何优化Linux操作系统用于MySQL环境? 一、初级玩法 1. 在BIOS及内核层面关闭NUMA。 2. 在BIOS层面将CPU、内存均设置最大性能模式。 3. 在BIOS层面关闭CPU节能模式。 4. 修改IO Scheduler为deadline 或 noop。 5. 使用xfs文件系统,挂 阅读全文
posted @ 2020-06-18 13:57 捧花大王 阅读(203) 评论(0) 推荐(0)
摘要: 在MySQL中如果发现乱码的情况该如何判断原因及应对? 1、直接修改法。alter或者pt-osc等其他工具直接对数据进行修改。 2、备份修改法。利用mysqldump或者其他逻辑备份进行备份,备份的结果集再利用iconv进行转换。 3、跳过字符集备份。利用mysqldump备份的时候跳过字符集-t 阅读全文
posted @ 2020-06-18 13:43 捧花大王 阅读(283) 评论(0) 推荐(0)
摘要: 在大表执行DDL的过程中,若临时中断,会发生什么状况,需要特别处理吗? 前提说明:MySQL5.7.23、innodb表、“双1”。 1、添加/删除列,采用copy的方式。 ctrl+c。在当前session中,手动执行ctrl+c。无影响,并且会自动删除产生的临时文件。 kill -9。在执行DD 阅读全文
posted @ 2020-06-18 12:06 捧花大王 阅读(406) 评论(0) 推荐(0)
摘要: 某人曰,在数据检索的条件中使用!=操作符时,存储引擎会放弃使用索引。 理由:因为检索的范围不能确定,所以使用索引效率不高,会被引擎自动改为全表扫描。你认可他的说法吗? 通常情况下,这个说法是正确的。当然,也有特殊情况,话不能说绝对了。 有一个测试表共80万条数据,其中type列只有1、2两个值,分别 阅读全文
posted @ 2020-06-18 11:04 捧花大王 阅读(194) 评论(0) 推荐(0)
摘要: MySQL的表中有唯一索引,设置unique_checks为0时,还能否写入重复值? 首先,即便设置unique_checks=0,也无法往唯一索引中写入重复值。 其次,设置unique_checks=0的作用在于,批量导入数据(例如load data)时,在确保导入数据中无重复值时,无需再次检查其 阅读全文
posted @ 2020-06-18 11:00 捧花大王 阅读(991) 评论(0) 推荐(0)