百胜主机房mysql data目录迁移
mysql信息:
主机IP
VIP
角色
数据目录
迁移后目录
172.25.203.41
\
Masetr-1
/mnt/disk1/mysql
/opt/k8s/mysql/data/
172.25.203.40
172.25.203.254
Master-2
/mnt/disk1/mysql
/opt/k8s/mysql/data/
项目描述:
操作前先确认两边状态正常,服务器运行正常,防止出现问题,增加排场工作量!!!
172.25.203.41mysql数据目录迁移:
分别再40和41上执行:
~]# show slave status\G #确保状态为yes,再继续往下操作。
172.25.203.40上执行:
~]# /mnt/disk1/mysql/bin/mysql -uroot -h127.0.0.1 -proot
停止数据同步:
mysql>stop slave;
172.25.203.41上执行:
停止定时任务:
~]# */15 * * * * /bin/sh /opt/purge_binlog/purge_binlog.sh > /dev/null 2>&1
停止keepalived和mysql服务。
~]# systemctl status keepalived
~]# systemctl stop keepalived
~]# service mysql stop && service mysql status
~]# ps -aux | grep mysql #确认返回没有进程存在,确认mysql优雅停止运行
创建数据目录迁移数据:
~]# mkdir /opt/k8s/mysql/data/ -p
~]# chown mysql.mysql /opt/k8s/mysql/data/ -R
~]# cp -r -p /mnt/disk1/mysql/data/* /opt/k8s/mysql/data/
~]# ll /opt/k8s/mysql/data/ #需要确认下copy过去后文件和目录的属主和数组都是mysql。
修改/etc/my.cnf配置文件:
只需要把配置文件中第6行数据目录修改即可:
原:
6 datadir=/mnt/disk1/mysql/data/
修改后:
6 datadir=/opt/k8s/mysql/data/
启动mysql和keepalived服务:
~]# service mysql start && service mysql status
~]# systemctl start keepalived
~]# systemctl status keepalived
查看状态:
当两个状态同时为yes和Seconds_Behind_Master: 0时,说明数据同步一致并且服务状态正常;同时也说明我们数据目录迁移成功。
启动定时任务:
~]# crontab -l
~]# */15 * * * * /bin/sh /opt/purge_binlog/purge_binlog.sh > /dev/null 2>&1
172.25.203.40上执行:
~]# /mnt/disk1/mysql/bin/mysql -uroot -h127.0.0.1 -proot
启动数据同步:
mysql>start slave;
172.25.203.41mysql数据目录迁移完成。
模拟写入数据,验证同步状态正常,此步骤可以省略。
在41上创建一个测试库,到40上查看是否同步成功。
mysql> show databases;
mysql> CREATE DATABASE test_db_aa;
mysql> drop database test_db_aa;
172.25.203.40mysql数据目录迁移:
172.25.203.40上执行:
~]# systemctl status keepalived
~]# systemctl stop keepalived
172.25.203.41上执行:
~]# ip add | grep 254 #验证vip漂移成功。
~]# /mnt/disk1/mysql/bin/mysql -uroot -h127.0.0.1 -proot
停止数据同步:
mysql>stop slave;
172.25.203.40上执行:
停止定时任务:
~]# */15 * * * * /bin/sh /opt/purge_binlog/purge_binlog.sh > /dev/null 2>&1
停止mysql服务。
~]# service mysql stop && service mysql status
~]# ps -aux | grep mysql #确认返回没有进程存在,确认mysql优雅停止运行
创建数据目录迁移数据:
~]# mkdir /opt/k8s/mysql/data/ -p
~]# chown mysql.mysql /opt/k8s/mysql/data/ -R
~]# cp -r -p /mnt/disk1/mysql/data/* /opt/k8s/mysql/data/
~]# ll /opt/k8s/mysql/data/ #需要确认下copy过去后文件和目录的属主和数组都是mysql。
修改/etc/my.cnf配置文件:
只需要把配置文件中第6行数据目录修改即可:
原:
6 datadir=/mnt/disk1/mysql/data/
修改后:
6 datadir=/opt/k8s/mysql/data/
启动mysql服务:
~]# service mysql start && service mysql status
查看状态:
当两个状态同时为yes和Seconds_Behind_Master: 0时,说明数据同步一致并且服务状态正常;同时也说明我们数据目录迁移成功。
启动定时任务:
~]# crontab -l
~]# */15 * * * * /bin/sh /opt/purge_binlog/purge_binlog.sh > /dev/null 2>&1
172.25.203.41上执行:
~]# /mnt/disk1/mysql/bin/mysql -uroot -h127.0.0.1 -proot
恢复数据同步:
mysql>start slave;
启动keepalived服务:
~]# systemctl start keepalived
~]# systemctl status keepalived