L011-oldboy-mysql-dba-lesson11
L011-oldboy-mysql-dba-lesson11
[root@ab01 ~]# mysqladmin -i 1 -r status #mysqladmin监控的命令
Uptime: 674695 Threads: 47 Questions: 1417844 Slow queries: 118 Opens: 102457 Flush tables: 1393 Open tables: 4 Queries per second avg: 2.101
Uptime: 674696 Threads: 47 Questions: 1417844 Slow queries: 118 Opens: 102457 Flush tables: 1393 Open tables: 4 Queries per second avg: 2.101
[root@ab01 ~]# mpstat -P ALL 1 1000
Linux 2.6.32-431.el6.x86_64 (ab01.com) 06/16/2016 _x86_64_ (1 CPU)
03:55:19 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:55:20 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
03:55:20 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
特别重点
给出表的数据类型的优化建议,具体百度:PROCEDURE ANALYSE
MySQL 5.6 基于GTID及多线程的复制详解:
http://freeloda.blog.51cto.com/2033581/1282879
1.分库分表策略
出现性能瓶颈的解决思路:
(1)scale-up:先考虑硬件能否解决。
(2)scale-out:sharding
Scale-up->scale-out->scale-up
sharding分两种:
1.垂直拆分(功能拆分)
2.水平拆分
先做1,在做2
水平拆分:
1.hash(uid/mod 4,port: mod 128;总共4*128张表)
2.range(1-1000万,1001-2000万,....)
3.lookup table
>=1000万 1port
<1000>=2000 2port
>2000<=3000 4port
4.几种策略混合使用
hash + db(时间维度)
UID:
port3306
db(tb_1410,tb_1411,tb_1412)
port3307
db(tb_1410,tb_1411,tb_1412)
port3308
db(tb_1410,tb_1411,tb_1412)
port3309
db(tb_1410,tb_1411,tb_1412)
hash+hash
port3306
db(tb_1,tb_2,tb_3....tb_128)
port3307
db(tb_1,tb_2,tb_3....tb_128)
port3308
db(tb_1,tb_2,tb_3....tb_128)
port3309
db(tb_1,tb_2,tb_3....tb_128)
partition key
mysql监控:
1.应用日志(>10s的语句记录下来)
2.mysql监控
3.OS监控
MySQL监控:
1.是否存活
2.sql_thread, io_thread(yes)
3.second_behied_master(insert heatbeat)
4.使用业务账号进行insert test判断是否可写。
5.pool buffer, select/update/delete/create每秒查询量。
6.连接数.......show global status\G
OS监控
1.ping
2.io,swap,disk, cpu, load, net_in/out
监控的视角:业务视角,管理员视角
监控数据以API的方式提供,业务可以自己的维度展示。
MySQL的安全管理
1.服务器端
2.系统级来说。
服务器端:
1.使用内网(bind-address=internal ip)。
2.username@ip password,权限给最小权限,包括复制账号。
3.要注意备份安全。
4.root一定要设置密码,并且不能在程序里面使用root.
5.数据的导入导出流程。
6.在SQL注入方面要建议开发做prepare statement,同时对一些输入框做比较多的判断。
7.用户登录权限限制。
8.重要的数据要加密存储。
系统级:
1.账号管理,最好堡垒机。
2.关闭没有的服务。
3.建议iptables开启。
4.时长关注或者订阅安全漏洞报告。
5.密码要复杂,有时可以22换了。
MySQL升级注意什么?
版本选择:
用最新版本,或使用最多版本。
mysql5.0->mysql5.1->mysql5.5.xx
先把slave升级为高版本,保持和主库replication。
然后做切换。
如果有问题,需要用逻辑备份导出数据,然后再新版本上恢复。
mysqldump > XXX.sql
mysql> source XXX.sql
升级步骤:
1.利用线上数据测试有没有问题。
2.最好也做一次alter table xxx engine=innodb;
3.mysql55/mysql56目录。
4.mysql_upgrade
5.启动时观察error log。
6.如果出现问题,使用老版本启动。
7.集群方面的,先升级slave,再升级主。
8.测试周边工具是否可用。
09
L011-oldboy-mysql-dba-lesson11的更多相关文章
- 我心中的MySQL DBA
原文网址链接:http://wangwei007.blog.51cto.com/68019/1718311 MySQL是一个跨平台的开源关系型数据库管理系统,目前MySQL被广泛地应用在Interne ...
- 招聘前端、Java后端开发、测试、Mysql DBA
公司介绍: http://www.lagou.com/gongsi/43095.html http://www.yamichu.com 简历发到: zhuye@yamichu.com 招聘职位: JA ...
- MySQL DBA的个人修养
做为一个MySQL DBA,必须具有以下的素质: 一, 身体素质 DBA必须接收和处理各种报警,不论是中午在吃饭或者凌晨三点已经进入深度睡眠.接到报警需要立即进入应急状态,找到电脑,联上网络,快速定位 ...
- MySQL DBA面试全揭秘
来源:http://ourmysql.com/archives/1426 本文起源于有同学留言回复说想了解下MySQL DBA面试时可能涉及到的知识要点,那我们今天就来大概谈谈吧. MySQL DBA ...
- Mysql DBA 20天速成教程,DBA大纲
Mysql DBA 20天速成教程 基本知识1.mysql的编译安装2.mysql 第3方存储引擎安装配置方法3.mysql 主流存储引擎(MyISAM/innodb/MEMORY)的特点4.字符串编 ...
- MySQL DBA教程:Mysql性能优化之缓存参数优化
在平时被问及最多的问题就是关于 MySQL 数据库性能优化方面的问题,所以最近打算写一个MySQL数据库性能优化方面的系列文章,希望对初中级 MySQL DBA 以及其他对 MySQL 性能优化感 ...
- MySQL DBA修炼秘籍
0.导读 本文主要写给那些立志成为MySQL DBA,以及正在学习MySQL的同行们,结合个人及业内其他同行的职业发展经历给大家一些参考,如何成为合格的MySQL DBA. 1.什么是MySQL DB ...
- “快的打车”创始人陈伟星的新项目招人啦,高薪急招Java服务端/Android/Ios 客户端研发工程师/ mysql DBA/ app市场推广专家,欢迎大家加入我们的团队! - V2EX
"快的打车"创始人陈伟星的新项目招人啦,高薪急招Java服务端/Android/Ios 客户端研发工程师/ mysql DBA/ app市场推广专家,欢迎大家加入我们的团队! - ...
- 【转】MYSQL DBA知识了解-面试准备
http://www.itpub.net/forum.php?mod=viewthread&tid=1825849 公司招聘MySQL DBA,也面试了10个2年MySQL DBA工作经验的朋 ...
- MySQL DBA工作角色和职责介绍
MySQL DBA分架构DBA,运维DBA和开发DBA三种角色,职责介绍如下:
随机推荐
- Swift常用语法示例代码(二)
此篇文章整理自我以前学习Swift时的一些练习代码,其存在的意义多是可以通过看示例代码更快地回忆Swift的主要语法. 如果你想系统学习Swift或者是Swift的初学者请绕路,感谢Github上Th ...
- nginx 学习八 高级数据结构之基数树ngx_radix_tree_t
1 nginx的基数树简单介绍 基数树是一种二叉查找树,它具备二叉查找树的全部长处:检索.插入.删除节点速度快,支持范围查找.支持遍历等. 在nginx中仅geo模块使用了基数树. nginx的基数树 ...
- Linux堆内存管理深入分析
(上半部) 作者:走位@阿里聚安全 前言 近年来,漏洞挖掘越来越火,各种漏洞挖掘.利用的分析文章层出不穷.从大方向来看,主要有基于栈溢出的漏洞利用和基于堆溢出的漏洞利用两种.国内关于栈溢出的资料相对较 ...
- 空间的配置和释放 std::alloc
看完了对象的构造行为和内存释放前的对象的析构行为,我们现在来看看内存的配置和释放. 对象构造前的空间分配和析构后的空间释放,定义在头文件<stl_alloc.h>中.其设计思想是: 向sy ...
- Android 高级UI设计笔记03:使用ListView实现左右滑动删除Item
1. 这里就是实现一个很简单的功能,使用ListView实现左右滑动删除Item: (1)当我们在ListView的某个Item,向左滑动显示一个删除按钮,用户点击按钮,即可以删除该项item,并且有 ...
- css笔记19:浮动的案例
案例一: 1. 首先是01.html文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...
- Java Bean validation specification...
http://www.ibm.com/developerworks/cn/java/j-lo-beanvalid/index.html
- 探讨PHP页面跳转几种实现技巧
PHP被许多程序员用来开发WEB的首选语言.在实际开发中,网站的各项功能都可以通过PHP语言的编写来满足,比如PHP页面跳转这一方法. 探讨PHP变量解析顺序如何获取提交数据 深入解读PHP运行机制 ...
- Windows环境下安装导入tornado
首先,一台安装并配置好了python,我的python版本的肯定是2.7,直接进入tornado的环节: 下载tornado的压缩包,我的下载地址为:https://codeload.github.c ...
- cent0s7 显卡驱动导致重启黑屏
由于 CentOS7.0 版本与前面的 CentOS6.5 及之前的版本的模式变更方法有很大 的不同,以前的版本中我们可以在vi /etc/inittab 文件中将id:5:initdefault 更 ...