不玩虚的,只有干货,笔者实操经验分享。欢迎指正。
第一步:安装配置新磁盘
使用fdisk -l 查看
如上图:sdb是新挂的磁盘,有500G,但没有逻辑目录,需要格式化并配置起来。步骤如下。
#创建pv
pvcreate /dev/sdb #这里不一定是sdb,有可能是vdb,看你的是哪种,笔者是上图的。
#创建vg
vgcreate vg1 /dev/sdb
#创建lv ,这里用了2个(lv1,lv2)
lvcreate -L 300G -n lv1 vg1
lvcreate -L 200G -n lv2 vg1
#这个是执行全部都挂到lv1中
lvcreate -l 100%VG -n lv1 vg1 #本例用到它
#使用ext4格式化lv
mkfs.ext4 /dev/vg1/lv1
这样磁盘准备好了,不过没有mount挂载。
第二步:Mysql数据大挪移(var/lib/mysql目录转移)
#先停Mysql服务
systemctl stop mysql
#更改mysql默认数据目录为myql-bak目录,主要是给新的/var/lib/mysql数据目录腾地方。
mv /var/lib/mysql /var/lib/mysql-bak
#创建新的/var/lib/mysql数据目录并挂载到新磁盘lv1
cd /var/lib
mkdir mysql
mount /dev/vg1/lv1 /var/lib/mysql
#把旧的myql-bak数据文件拷贝到新的mysql数据目录
cp -r -a /var/lib/mysql-bak/* /var/lib/mysql/
#更改新文件夹mysql所有者为mysql用户
cd /var/lib/
chown -R mysql:mysql mysql
#重启mysql服务
systemctl start mysql
这时如果成功就成功大半了。试试登录和访问数据库。
第三步:配置磁盘自动加载
#配置lv1磁盘自动加载
nano /etc/fstab
添加
/dev/vg1/lv1 /var/lib/mysql ext4 defaults 0 0
如下图:
注意:这里配置比较危险。可以使用mount -a验证下,是否正确,如果不报任何消息,就是正确的。
恭喜你,mysql数据库搬家成功。