摘要: DBA守则在对生产环境进行修改前,一定要进行备份,一定要在测试环境进行测试,否则不要进行轻易的更改一次尽量只做一件事,不要受环境影响 DBA的十大任务1.了解和掌握硬件环境2.规划数据库3.安装数据库软件和创建数据库4.日常运行监控管理和故障处理5.性能优化6.数据库备份/恢复7.数据库安全性管理8 阅读全文
posted @ 2019-08-16 19:22 AllenHU320 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 绩效考核是对一名员工所作工作的数量、质量、难度、强度、效率的量化考量。由于DBA的工作性质与纯粹的研发人员或运维人员有所区别,对DBA的KPI考核指标也有其特殊性。参考以往的经验和一些较大的DBA team(如阿里巴巴80多人的DBA队伍)的做法,对一名DBA的绩效大致可以从以下四个方面进行考核: 阅读全文
posted @ 2019-08-16 19:20 AllenHU320 阅读(1321) 评论(0) 推荐(0) 编辑
摘要: 1、into outfile 生成sql:一般都是生成文本或者其他形式的文件,现在需要生成sql形式的文件。配置文件加secure_file_priv=''select concat('insert into tab_name(id,name,age) values(',id,',','\'',na 阅读全文
posted @ 2019-08-16 18:31 AllenHU320 阅读(361) 评论(0) 推荐(0) 编辑
摘要: strace介绍及用途 strace是一个用于诊断,分析linux用户态进程的工具 类似的工具pstrace,lsof,gdb,pstrack strace观察mysqld对my.cnf 配置文件的加载顺序 命令如下:strace -T -tt -s 100 -o start.log /usr/lo 阅读全文
posted @ 2019-08-16 18:30 AllenHU320 阅读(1781) 评论(0) 推荐(0) 编辑
摘要: 在MySQL 5.7.x版本中,mysqlbinlog工具解析任何一个本地的binlog或relay log时,都不会在mysqlbinlog命令执行结束时追加rollback语句, 但在MySQL 5.6.x版本中,mysqlbinlog工具解析每一个本地binlog和relay log时在mys 阅读全文
posted @ 2019-08-16 18:19 AllenHU320 阅读(743) 评论(0) 推荐(0) 编辑
摘要: 做了很多年Oracle,转行到MySQL了,算是借鉴 Oracle日常维护管理指标 一、 基本硬件环境 1、 主机硬件环境 品牌 型号 数量 物理CPU核数及逻辑CPU数 内存大小 本地硬盘大小 光驱 双网卡绑定 HBA卡 冗余电源 IPMI 机房机架位置 维保时间 厂商联系人 IP列表 2、 存储 阅读全文
posted @ 2019-08-16 17:35 AllenHU320 阅读(118) 评论(0) 推荐(0) 编辑
摘要: MySQL性能瓶颈原因 硬件、系统因素 CPU 磁盘I/O 网络性能 操作系统争用 MySQL相关因素 数据库设计 索引、数据类型 应用程序性能 特定请求、短时事务 配置变量 缓冲区、高速缓存、InnoDB 瓶颈分析工具 sysstat工具集 sar、iostat、pidstat、mpstat pe 阅读全文
posted @ 2019-08-16 17:11 AllenHU320 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 性能容量关键指标: 每秒tps,峰值tps 基础数据量,日均增长数据量 最大连接数 内存分配 IOPS 重点关注指标: 业务指标: 每秒并发用户请求、每秒订单数、用户请求响应时长 折算成性能指标: qps、tps、rt 提出测试预期目标: 根据性能指标制定测试方案 测试结果尽可能以这些指标来表达 业 阅读全文
posted @ 2019-08-16 17:09 AllenHU320 阅读(1116) 评论(0) 推荐(0) 编辑
摘要: 监控的意义&目的 业务/数据库服务是否可用 通过事务实时性能数据变化感知业务的变化 数据库性能变化趋势判断服务器资源是否足够 数据可靠性 业务数据是否可靠 服务可用,不代表数据就是正确的 有可能误操作删除数据,或者其他意外原因丢失数据 或者主从复制延迟,导致在从数据库无法读取到最新数据 通过模拟随机 阅读全文
posted @ 2019-08-16 17:08 AllenHU320 阅读(1688) 评论(0) 推荐(0) 编辑
摘要: 不同引擎对比 MyRocks FB基于LevelDB实现RocksDB,移植到MySQL后,称为MyRocks,其本质是一个KVDB 在FB内部被广泛使用 ,大有取代InnoDB趋势 MyRocks复制特点 也是基于binlog实现,但MyRocks引擎不能和binlog实现XA协同 异常crash 阅读全文
posted @ 2019-08-16 17:07 AllenHU320 阅读(756) 评论(0) 推荐(0) 编辑
摘要: 关于锁 锁的作用:避免并发请求时对同一个数据对象同时修改,导致数据不一致 怎么加锁: 事务T1在对某个数据对象R1操作之前,先向系统发出请求,对其加锁L1,之后,事务T1对该数据对象R1有了相应的控制,在T1释放L1之前,其它事务不能修改R1 加锁对数据库的影响: 锁等待,锁L1锁定某个对象R1,锁 阅读全文
posted @ 2019-08-16 17:06 AllenHU320 阅读(396) 评论(1) 推荐(0) 编辑
摘要: 事务 事务(Transaction)是一组SQL组成的执行单元(unit),是数据库并发控制和恢复回滚的基本单位 一个事务可能包含多个SQL,要么都失败,要么都成功 事务具备4个基本属性: Atomic,同一个事务里,要么都提交,要么都回滚 Consistency,即在事务开始之前和事务结束以后,数 阅读全文
posted @ 2019-08-16 17:05 AllenHU320 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 二分查找法/折半查找法 一种在有序数组中查找某一特定元素的搜索算法 二分查找法的优点是比较次数少,查找速度快,平均性能好。其缺点是要求待查表为有序表,且插入删除困难。因此,二分查找方法适用于不经常变动而查找频繁的有序列表 二叉树,binary tree 二叉树的每个节点至多只有两棵子树(不存在度大于 阅读全文
posted @ 2019-08-16 17:04 AllenHU320 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 三层体系结构 连接层: 通信协议处理、线程处理、账号认证、安全检查等 SQL层: 权限判断、查询解析、优化器&缓存、查询执行&返回等 存储引擎层: 存储引擎(基于磁盘),InnoDB,MyISAM,TokuDB,存储引擎API接口,请求日志,错误日志,二进制日志,中级日志 建立连接过程: 等待建立新 阅读全文
posted @ 2019-08-16 17:03 AllenHU320 阅读(558) 评论(0) 推荐(0) 编辑
摘要: 整形 最小的tinyint占用1字节,最大的bigint占用8字节 (1、2、3、4、8) 取值范围255、65535、1600万、42亿、超级大 对于整形,其实不用太苛刻,即便用错了,差距也不会太大 但作为严谨的程序员/DBA,选择最合适的类型即可 INT(11),11是修饰符,不是长度限制,和z 阅读全文
posted @ 2019-08-16 17:02 AllenHU320 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 什么是字符集 字符集是一套符号和编码的规则,字符串都必须有相应的字符集 校验集是这套符号和编码的校验规则,定义字符排序规则,字符串之间比较的规则 多字节字符间是以字符进行比较,而非以字节为单位进行比较 XXX_bin将字符串中的每一个字符用二进制数据存储,区分大小写 XXX_general_ci不区 阅读全文
posted @ 2019-08-16 17:01 AllenHU320 阅读(208) 评论(0) 推荐(0) 编辑
摘要: OS部署规范 关闭CPU节能模式,设定为最大性能模式 关闭NUMA、C-states、C1E 若有阵列卡,则使用FORCE WB策略,且关闭预读 若使用机械盘,则所有盘组成RAID-10阵列 SSD盘可以只有两块组成RAID-1或三块组成RAID-5 xfs/ext4 + deadline/noop 阅读全文
posted @ 2019-08-16 17:00 AllenHU320 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 分库分表 拆分的目的是什么? 拆库,还是拆表?两者结合? 拆库方便进行扩容 其规则设计的好,表也可以移动 拆成多少合适 单实例最多1千张表 单表按1千万~1亿条数据规划,10G左右 对于大字段blob,text字段建议拆分并压缩,用主键关联(查询) 每个表必须有主键,主键采用自增int/bigint 阅读全文
posted @ 2019-08-16 16:57 AllenHU320 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 最好用的是mysql cli 专业化mysql client配置如下:prompt="\u@\h \R:\m:\s [\d]> "pager="less -i -n -S"tee="/tmp/query.log"no-auto-rehash 显示登录信息 ,很方便的知道当前客户端位于哪个mysql 阅读全文
posted @ 2019-08-16 16:55 AllenHU320 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 大纲 DBA最应该做的事情 新项目开发环境应该注意什么 功能测试和压力测试MySQL DBA关注点 线上环境关注点 业务在大压力情况下,MySQL如何能活下来 DBA最应该做的事情 备份 建议每天全备 每天把Binlog也要进行备份 理想的目标:可以把数据还原到任意时间点(近2周的能力) 监控 了解 阅读全文
posted @ 2019-08-16 16:47 AllenHU320 阅读(298) 评论(0) 推荐(0) 编辑