vm虚拟机下/home分区空间还原/root

linux(centos7) home目录磁盘空间转移到root下

查看分区

df -h

备份分区

按实际需要情况进行

tar cvf /tmp/home.tar /home

停止分区

yum install psmisc -y

执行当前命令后ssh控制台可能出现闪断,重连即可!

fuser -km /home/

备注:截图命令缺失xfs_growfs /dev/mapper/centos-root

卸载分区

umount /home

删除分区所在的lv(逻辑卷)

(centos-home和centos-root 系统可能不一样)

lvremove /dev/mapper/centos-home

扩展/root所在的lv

lvextend -L +100G /dev/mapper/centos-root

扩展/root文件系统

xfs_growfs /dev/mapper/centos-root

进行检查

df -Th

若需要还原/home目录分区

还原/home分区,我没有实际执行命令,以下内容来源自参考博客。


重新创建/home的lv

创建时计算好剩余的磁盘容量,建议比剩余小1G左右

lvcreate -L 10G -n /dev/mapper/centos-home

创建文件系统

yum -y install xfsprogs -y
mkfs.xfs /dev/mapper/centos-home

挂载系统

mount /dev/mapper/centos-home

home文件恢复

tar xvf /tmp/home.tar -C /home/

完成可进行检查

df -Th

阿里云RDS恢复自建数据库

RDS MySQL物理备份用XtraBackup恢复到自建数据库_云数据库 RDS(RDS)-阿里云帮助中心

准备工作

备份解压路径

上述命令的$USER:$USER表示从环境变量中获取当前用户及用户组,无需修改

sudo mkdir /var/mysql_bkdata
sudo chown -R $USER:$USER /var/mysql_bkdata

创建数据库数据目录

sudo mkdir /var/mysql_newdata
sudo chown -R $USER:$USER /var/mysql_newdata

安装工具

安装备份恢复工具Percona XtraBackup

MySQL 5.7、5.6或5.5实例,下载并安装Percona XtraBackup 2.4

wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.28/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.28-1.el7.x86_64.rpm
yum localinstall -y percona-xtrabackup-24-2.4.28-1.el7.x86_64.rpm

安装解压工具qpress

## 下载可执行文件的tar包
wget "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20230406/flxd/qpress-11-linux-x64.tar"

## 解压下载的tar包,取出可执行文件
tar -xvf qpress-11-linux-x64.tar

## 设置qpress文件的执行权限
sudo chmod 775 qpress

## 拷贝qpress到/usr/bin中
sudo cp qpress /usr/bin

下载备份文件

题主已下载rds的物理备份文件到本地

下载压缩文件格式:tar.gz

tar -izxvf /root/hins20149963_data_20240619085620.tar.gz -C /var/mysql_bkdata/

恢复备份文件到自建数据库

恢复数据库前,请先停止自建数据库服务

在关闭自建redis实例后,需要执行ps -ef | grep mysql检查下,是否mysql_safe进程存活,存在则kill -9 pid,否则上述启动进程无效!

innobackupex --defaults-file=/var/mysql_bkdata/backup-my.cnf --apply-log /var/mysql_bkdata/

修改自建数据库的数据目录(datadir)

vim /etc/my.cnf

修改datadir参数

datadir=/var/mysql_newdata

恢复数据

XtraBackup工具详解 Part 6 使用innobackupex对全备进行恢复

sudo innobackupex –defaults-file=/etc/my.cnf –copy-back /var/mysql_bkdata/

由于题主虚拟机磁盘空间不足够大,命令做调整--move-back,使用move命令后文件会移动,旧目录依然存在。

sudo innobackupex --defaults-file=/etc/my.cnf --move-back /var/mysql_bkdata/

启动数据库

(可选)查看当前rds的实例参数lower_case_table_names等于1,则需要进行如下步骤

vim /etc/my.cnf
lower_case_table_names=1

数据目录授权

chown -R mysql:mysql /var/mysql_newdata

启动mysql进程

mysqld --defaults-file=/etc/my.cnf --user=mysql --datadir=/var/mysql_newdata &

重置root密码(可选)

题主这里是懒的去找之前阿里云rds已建用户账户信息,选择直接重置root密码


vim /etc/my.cnf

添加如下配置

skip-grant-tables

重启mysql服务

service mysql restart;

登录mysql(回车进入)

mysql -uroot -p

由于恢复的mysql数据库用户rootlocalhost记录,于是将host为127.0.0.1的用户记录修改%任意ip可登录

update user set host ='%' where user='root' and host = '127.0.0.1';

flush privileges;

/etc/my.cnf配置文件还原

#skip-grant-tables

重启mysql服务

service mysql restart;

skip-grant-tables 模式下,无法创建新用户,此步骤可跳过!

创建用户并授权命令

CREATE USER 'root'@'%' IDENTIFIED BY '123456';
grant all privileges on *.* to 'root'@'%' identified by '123456';
grant all privileges on *.* to 'root'@'%' identified by '123456';