扩容根分区
基本的逻辑卷管理概念:
PV(Physical Volume)- 物理卷物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。
VG(Volumne Group)- 卷组卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
PE(Physical Extent)- 物理块
LVM 默认使用4MB的PE区块,而LVM的LV最多仅能含有65534个PE (lvm1的格式),因此默认的LVM的LV最大容量为4M*65534/(1024M/G)=256G。PE是整个LVM最小的储存区块,也就是说,其实我们的资料都是由写入PE 来处理的。简单的说,这个PE 就有点像文件系统里面的block 大小。所以调整PE会影响到LVM 的最大容量!不过,在 CentOS 6.x 以后,由于直接使用 lvm2 的各项格式功能,因此这个限制已经不存在了。
一、增加新硬盘并分区[root@test ~]# df -h
...
MySQL 日志管理
一、工具日志管理1. 错误日志配置:默认文件存放在数据目录下,HOSTNAME.err手动指定路径:
vim /etc/my.cnf
log_error=/data/mysql/data/mysql.log
2. 二进制日志二进制形式,记录MySQL 工作过程中,所有变更类(除了select和show)的操作日志可以理解为记录的是SQL语句,逻辑性质日志。配置:
server_id=51
log_bin=/data/binlog/mysql-bin
binlog_format=row
sync_binlog=1
说明:/data/binglog 提前创建好,并且授权,和数据目录放在不同的位置 mysql-bin 叫做文件名前缀
binlog_format=row 二进制日志记录格式
sync_binlog=1 双一标准,每次事务提交立即刷写binlog
[root@db01 ~] ...
MySQL MHA 高可用
一、MHA架构结构
Manager
masterha_manger 启动MHA
masterha_check_ssh 检查MHA的SSH配置状况
masterha_check_repl 检查MySQL复制状况
masterha_master_monitor 检测master是否宕机
masterha_check_status 检测当前MHA运行状态
masterha_master_switch 控制故障转移(自动或者手动)
masterha_conf_host 添加或删除配置的server信息
Node
save_binary_logs 保存和复制master的二进制日志
apply_diff_relay_logs 识别差异的中继日志事件并将其差异的事件应用于其他的
purge_relay_logs 清除中继日志(不会阻塞SQL线程)
二、MHA Failover的过程
通过masterha_manager ...
MySQL 优化
一、优化工具1.1 OS
CPU : top , htop, PS ,w ,glanceMEM : top , htop ,vmstat ,sar ,freeIO : iotop ,iostat ,iftopFS : xfs_info ,df -Th , fdisk -l
1.2 数据库
show statusshow variablesshow indexshow processlistshow slave statusshow engine innodb status\Gdesc /explainslowlogmysqladmin扩展类深度优化:pt系列mysqlslapsysbenchtpc-cinformation_schemaperformance_schemasys
1.3 工具使用方法介绍1)top
H
zsc
[root@db01 ~]# cat /data/mysql/data/db01.pid
1856
[root@db01 ~]# top -p 1856
%Cpu(s):
0.0 us : 用户 ...
MySQL主从复制(Replication)
一、主从复制1.主从复制介绍两台MySQL实例,通过binlog 自动 “实时” 同步数据通常可以用作:辅助备份+ 架构演变
2.主从复制搭建
两台以上MySQL实例(server_id不同,port,socket等),确认主从身份
mysql> select @@server_id;
主库开启二进制(binlog)日志
mysql> select @@log_bin;
主库开启复制专用用户:replication slave
mysql> grant replication slave on *.* to repl@'10.0.0.5%' identified by '123';
主库备份恢复到从库
mysqldump -uroot -p456 -S /data/3307/mysql.sock -A --master-data=2 --single-transaction >/tmp/full.sql
mysql -S /data ...
MySQL 备份恢复(mysqldump)
一、mysqldump[root@db01 ~]# mkdir /data/backup -p
[root@db01 ~]# mysqldump -uroot -p123456 -S /tmp/mysql.sock xxxxx
1. 备份基础参数 1)全备 -A
[root@db01 ~]# mysqldump -uroot -p123456 -S /tmp/mysql.sock -A >/data/backup/full.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions,
even those that changed suppressed p ...
MySQL物理备份工具使用(Percona Xtrabackup)
一、安装yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL libev
yum -y install percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm
二、XBK 的备份逻辑(简单)
自动判断表的类型
Flush table with read lock (FTWRL)
非innoDB表进行锁表,然后进行cp
innoDB表,立即CKPT,将提交的脏页刷写到磁盘,进行cp,cp同时将备份过程中产生的redo一起备份走
恢复:
非innodb直接恢复即可
InnoDB表,需要XBK处理备份后,再进行恢复处理备份(prepare)?模仿了 自动故障恢复的流程:先redo前滚,再undo回滚
三、innobackupex工具使用1、全备1.1 配置文件
datadir
socket
vim /etc/my.cnf
[client]
socket=/tmp/mysql.sock
1 ...
MySQL分布式架构-MyCAT
一、MyCAT基础架构介绍及准备
环境准备两台虚拟机 db01 db02每台创建四个mysql实例:3307 3308 3309 3310
删除历史环境
pkill mysqld
rm -rf /data/330*
mv /etc/my.cnf /etc/my.cnf.bak
创建相关目录初始化数据
mkdir /data/33{07..10}/data -p
mysqld --initialize-insecure --user=mysql --datadir=/data/3307/data --basedir=/usr/local/mysql
mysqld --initialize-insecure --user=mysql --datadir=/data/3308/data --basedir= ...
MySQL读写分离架构(MHA+Atlas)
一、MySQL读写分离架构
安装配置
--- 安装Atlas
yum install -y Atlas*
cd /usr/local/mysql-proxy/conf
--- 修改配置文件
mv test.cnf test.cnf.bak
cat > test.cnf <<EOF
[mysql-proxy]
admin-username = user
admin-password = pwd
proxy-backend-addresses = 10.0.0.55:3306
proxy-read-only-backend-addresses = 10.0.0.51:3306,10.0.0.53:3306
pwds = repl:3yb5jEku5h4=,mha:O2jBXONX098=
daemon = true
keepalive = true
event-threads = 8
log-level = messa ...