Mysql数据库磁盘扩容

一 场景

数据库环境为一主一从(数据库同步方式用binlog,pos),使用mha来作为数据库高可用的一种方案,目前场景是所有读写操作均在vip进行,mysql主磁盘200G已经使用180G 清理binlog也只能清理一部分,需面临磁盘扩容,使用平台为腾讯云平台,本地ssd磁盘,咨询平台给的回馈是本地ssd不支持热扩,有两种方案
1.本地ssd转换云ssd 然后扩容,转换过程中理论不会出现数据丢失,但是转换需要停机操作
2.买一个新的ssd做数据copy

二 实际操作

1.主从切换,并且准备好磁盘

masterha_master_switch --conf=/etc/mha/mha.cnf --master_state=alive --new_master_host=masterIP  --orig_master_is_new_slave
#检查同步状态 
#在slave执行
show master status\G
#在master执行
show slave status\G

如果mha切换失败备用方案自己手动切换
如果mha切换失败 那么就手动切换

#在slave服务器 

RESET MASTER;STOP SLAVE;RESET SLAVE; show master status;
show slave status\G;

#可以看到binlog 以及pos 并记录

#在master服务器

RESET MASTER;STOP SLAVE;RESET SLAVE; 
CHANGE MASTER TO MASTER_HOST='原先的slave服务器',
MASTER_PORT=3306,
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=435;

确认vip是否漂移成功 失败的话手动切换

#在从slave执行

ip addr add vip dev eth1
#在主master执行
ip addr del vip dev eth1

2.停掉master 数据copy

因为之前是nohup启动的所以
在之前的master服务器

mysqladmin shutdown

cp -r /data/*    /mysql-data
#卸载的时候需要注意不能再磁盘目录中,会导致占用然后umount失败
umount /olddata
umount /newdata
mount /newdisk   /olddata
chown -R mysql:mysql /olddata

3.启动master确认主从状态

#启动master
mysqld_safe --defaults-file=/etc/my3306.cnf --datadir=/data/mysql3306/mysql3306 --user=mysql &

4.主从切换,并且确认主从同步状态

masterha_master_switch --conf=/etc/mha/mha.cnf --master_state=alive --new_master_host=old_master_ip  --orig_master_is_new_slave
#在master服务器执行
show slave status\G
#确认主从同步状态
#检查同步状态 
#在slave执行
show master status\G
#在master执行
show slave status\G
#检查vip是否漂移成功若失败手动漂移

5.与研发确认数据库扩容操作完成,测试主从同步以及数据库可用性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来自万古的忧伤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值