L002-oldboy-mysql-dba-lesson02

[[email protected] ~]# mysql -uroot -ptestpassword

mysql> use mysql;

mysql> show tables;

show create table user;

use test;

create table t1 (id int, name char(100), age smallint,
primary key(id)) engine=innodb;

create table t1 (id int, name char(100), age smallint,
primary key(id)) engine=innodb;

show create table t1;

alter table t1 add index test_index(name);

alter table t1 add index test_index2(age);

alter table t1 add index test_index3(name,age);

show global variables;

show global variables like ‘%pool%‘;

show variables like ‘%timeout%‘;

set global wait_timeout=20; set session wait_timeout=20;

insert into t1 values(1,‘aaaa‘,25);

insert into t1 values(2,‘bbbbb‘,25);

insert into t1 values(3,‘bbbbb‘,25);

insert into t1 values(3,‘cccc‘,25);

insert into t1 values(4,‘cccc‘,25);

select * from t1;

show global variables like ‘%per_table%‘;

show global variables like ‘%innodb%‘;

show engines \G

show global variables like ‘%autocommit%‘;

use mysql;

show table status like ‘%host%‘\G

show global variables like ‘%autocommit%‘;

show global variables like ‘%_io_thread%‘;

show global variables like ‘%key_check%‘;

show global variables like ‘%isolation%‘;

[[email protected] ~]# vi /var/lib/mysql/my.cnf

131 innodb_buffer_pool_size = 384M

132 innodb_buffer_pool_instances = 4

133 innodb_file_per_table =
1      #设置innodb独立独立表空间

134 innodb_flush_method = O_DIRECT

135 default_storage_engine = innodb

136
transaction-isolation = READ-COMMITTED

[[email protected] ~]# mysqladmin -ptestpassword shutdown 
 #优雅的关闭数据库

[[email protected] ~]# /usr/local/mysql/bin/mysqld_safe
--defaults-file=/var/lib/mysql/my.cnf &

#删除bin-log;

mysql> show master logs;

mysql> purge master logs to ‘mysql-bin.000003‘;

mysql> show master logs;

mysql> purge master logs before
‘2016-03-17 00:00:00‘;

mysql> show master logs;

show global variables like ‘%expire%‘;

show full processlist;

show global variables like ‘%slow%‘;   # 开启慢查询

show global variables like ‘%connection%‘;

show global variables like ‘%prof%‘;

setprofiling=1; set global profiling=1;

show global variables like ‘%prof%‘;

select * from mysql.user;

show profile;   #查看上一句sql的资源消耗瓶颈在哪里!

show profile all;

#修复表语句

[[email protected] ~]#
/usr/local/mysql/bin/myisamchk -r /var/lib/mysql/mysql/*.MYI

#主从同步出现错误的时候,一般会跳过这一条错误,尽快恢复主从结构;

show slave status\G;

slave stop; set global
sql_slave_skip_counter=1; slave start;

show slave status\G;

#监控innodb的状态

show global variables like ‘%io_thread%‘;

show engine innodb status\G   #查看innodb有无死锁

show global status;       #查看目前数据库的状态

show global status like ‘%Com_insert%‘;

#统计mysql数据库每秒查询值(同理每秒删除、插入、更新)

[[email protected] ~]# mysqladmin -S
/tmp/mysql.sock  -uroot -ptestpassword -i 1 -r exten |grep
Com_select     #-i 1 间隔1秒钟; -r当前值减去历史积累值;exten = exten-status

[[email protected] ~]# mysqladmin -S
/tmp/mysql.sock  -uroot -ptestpassword -i
1 -r exten |grep -E "Com_select|Com_update|Com_delete|Com_insert"

#不重启mysql,直接使得参数生效的方法(有一定风险,慎重使用)

[[email protected] ~]#
/usr/local/mysql/bin/mysqladmin -S /tmp/mysql.sock -ptestpassword shutdown

[[email protected] ~]#
/usr/local/mysql/bin/mysqld_safe --defaults-file=/var/lib/mysql/my.cnf &

show global variables like
‘%log_slave_updates%‘;

[[email protected] ~]# yum install -y gdb

[[email protected] ~]# gdb -p $(pidof mysqld) ex
"set opt_log_slave_updates=1"

(gdb) quit    y

show global variables like
‘%log_slave_updates%‘;  #此法比restart 数据库要快很多

#mysql版本升级

需要执行此命令,进行修复一些元数据。

把老表all db dump出来进行恢复之后

[[email protected] ~]#
/usr/local/mysql/bin/mysql_upgrade -S /tmp/mysql.sock -ptestpassword

#mysql更换引擎

mysql> alter tables t1 engine=innodb;

[[email protected] mysql]# mysql -S
/tmp/mysql.sock -u root -ptestpassword -e "use test;show tables" |
grep -v Tables_in | sed ‘s/^/alter table /g‘ | sed ‘s/$/ engine=innodb;/g‘ >
abc.txt

[[email protected] mysql]# vi abc.txt

alter table t1 engine=innodb;

alter table t2 engine=innodb;

alter table t1 engine=innodb;

[MySQL]表在线重定义pt-online-schema-change:

http://www.2cto.com/database/201401/272616.html

http://blog.itpub.net/22664653/viewspace-772250/

mysql分页优化 PPC2009_mysql_pagination:

http://wenku.baidu.com/link?url=ad9HREssC8iiVe_wPMvVBMqiAyoTukEGRS1Y_qo-8xtTOfIeYhExsjAazvXVAKzbVSL5FvlUgeqJSny1C9eSJnJcCoucD750rvc8oLiv-JC

mysql> select current_time ;

mysql> select now();   #这个带日期

mysql> select unix_timestamp();

+------------------+

| unix_timestamp() |

+------------------+

|1458482559 |

+------------------+

1 row in set (0.00 sec)

mysql> select from_unixtime(1458482559);

+---------------------------+

| from_unixtime(1458482559) |

+---------------------------+

| 2016-03-20 22:02:39       |

+---------------------------+

1 row in set (0.00 sec)

来自为知笔记(Wiz)

附件列表

时间: 2024-10-06 15:23:12

L002-oldboy-mysql-dba-lesson02的相关文章

MySQL DBA 面试题目 答疑记 《01》

MySQL DBA 面试题解惑 一个朋友发了帖子,询问一些mysql dba面试题,回答的人比较少,他把地址给了我,只是我没有那个网站的账号,所以就整理下发在我的blog里面,大家可以参考下,也欢迎提出更加合理更加高效的处理方案. 1.对于一台DB服务器,有哪些是必须监控的基础指标,如何得到这些值? 必须监控的有:cpu负载.内存使用率.磁盘大小.io读写.网络流量.db端口流量.数据库客户端连接数等 如何得到这些值:可以通过第三方工具比如cacti.zabbix等: Cacti监控mysql参

MySQL DBA面试全揭秘

原创 2015-09-11 叶金荣 MySQL中文网 本文由MySQL中文网原创,“MySQL中文”公众号是 http://imysql.com 的官方唯一公众号,微信首发.欢迎关注“MySQL中文”公众号(ID: imysql_wx),我们会不定期推送MySQL相关原创干货. 本文起源于有同学留言回复说想了解下MySQL DBA面试时可能涉及到的知识要点,那我们今天就来大概谈谈吧. MySQL DBA职位最近几年特别热门,不少朋友让我帮忙推荐什么的,也有很多公司找不到合适的DBA.原因很简单,

我心中的MySQL DBA

作为一个DBA,核心目标也是终极目标:保证数据库管理系统的稳定性.安全性.完整性和高性能. MySQL DBA分为两种:一种是开发DBA,一种是运维DBA,这里说的MySQL DBA是指运维DBA.一般意义上的DBA指的是运维DBA,只是负责数据库的运营和维护,包括数据库的安装.监控.备份.恢复等基本工作,而高级或资深DBA职责比这个大得多,需要覆盖产品从需求设计.测试到交付上线的整个生命周期,在此过程中不仅要负责数据库管理系统的搭建和运维,更要参与到前期的数据库设计,中期的数据库测试和后期的数

MySQL DBA及Linux企业集群实战工程师

MySQL DBA及Linux企业集群实战工程师 2015,来一场随时随地的学习之旅 开启我赢职场MySQL学习之旅 不能错过的我赢之旅 任性就是想问就问 谁是你的群聊小伙伴 学习点滴我主宰 名师在线答与问 职业入门--数据库基础知识及安装MySQL MySQL课程介绍 讲师访谈 深入了解什么是数据库 MySQL从万千数据库中脱颖而出 选择学习哪个版本的MySQL 搭建学习MySQL的实验环境 提前熟悉一下MySQL环境 Linux下基于官方YUM源安装MySQL Linux下基于官方源码包包安

阿里巴巴MySQL DBA面试题答案[转]

无意中看到阿里巴巴的面试题,,借此回首DBMS时刻趁热打铁巩固一下基础 拿到题目大概浏览了一遍难度大概在中上游水平,自己跪了接近35%的题目 自己答题如下,欢迎大家讨论分析题 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

Mysql DBA 20天速成教程,DBA大纲

Mysql DBA 20天速成教程 基本知识1.mysql的编译安装2.mysql 第3方存储引擎安装配置方法3.mysql 主流存储引擎(MyISAM/innodb/MEMORY)的特点4.字符串编码知识5.MySQL用户账户管理6.数据备份/数据入导出7.mysql 支持的基本数据类型8.库/表/字段/索引 的创建/修改/删除9.基本sql 语法:select/insert/update/delete,掌握最基本的语法即可,什么inner join,left join的了解就行 mysql的

如何成为MySQL DBA

互联网高速发展的成功,得益于MySQL数据库的给力支持.MySQL本身发展的速度较快,性能方面提升显著,让传统企业也有想法使用MySQL提供服务.目前看来MySQL DBA的缺口非常大.所以欢迎加入到MySQL DBA的团队中来. 有同学一提到MySQL DBA或是DBA都把高难度入门联系到一块.我从事MySQL DBA差不多10几年了,在这里我也给大家讲述一下怎么成为一名MySQL DBA, 少走湾路,快速成为MySQL DBA. 首先MySQL大多是跑在Linux环境上的,所以我们需要学习一

MySQL DBA的个人修养

做为一个MySQL DBA,必须具有以下的素质: 一, 身体素质 DBA必须接收和处理各种报警,不论是中午在吃饭或者凌晨三点已经进入深度睡眠.接到报警需要立即进入应急状态,找到电脑,联上网络,快速定位故障原因,并解决之.睡眠不好的同学不太适合当DBA,因为半夜处理故障后很难再次入睡,长期会严重影响生活质量. 另外,在抢修大型故障的时候,可能需要很长时间,没有好的身体很难坚持. 二, 心理素质 1 沉稳 凡是涉及到数据库的事没有小事,DBA必须具有“卒然临之而不惊,无故加之而不怒”的心理素质,在遇

MySQL DBA 刚入职时如何快速拥抱新的环境

方法何其多.这里介绍的是懒人做法.也就是.借助工具   但是.生产环境是不能随便安装程序的.肿么办?   没关系.我们伟大的percona 已经为我们考虑周详鸟      这里.我们要借助三个工具:      ① pt-summary:绿色纯天然.免安装.下载即用.收集MySQL Server所在OS的基本信息   ② pt-mysql-summary:本地安装.然后远程收集MySQL Server的基本信息   ③ innotop:将MySQL Server的信息分析的粒度做细.让你深入观察和

Mysql DBA高级运维学习笔记-mysql数据库介绍

本文为我自己学习老男孩MySQL DBA 高级运维课程的学习笔记,内容均出自老男孩MySQL DBA 高级运维课程,老男孩老师讲的很好,非常感谢老男孩老师.我是一个菜鸟刚接触运维,如果我写的文章有不对的地方:请各位行业的精英.老师多多批评指点,呵呵~ 1.1 数据库介绍 1.1.1 什么是数据库?简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织.存储的,我们可以通过数据库提供的多种方法来管理数据库里的数据. 1.2 数据库的