ubuntu20分区_(最新)ubuntu20.04LTS版迁移mysql8.0数据库的方法

3b82a80c223230f85e64f20e925e6278.png

(最新)ubuntu20.04LTS版迁移mysql8.0数据库的方法

之前mysql通过apt安装的,运行一段时间之后,发现根分区过小,有必要将占用空间大的数据库迁移到home分区,于是,有了这篇文章。

微信号:xfiles_sky(喜欢网络技术的朋友可以加我微信一起研讨学习进步!)

<!--还没有主机的同学,可以通过下面优惠购买,每人只能买一台,活动过了就没有了。-->

优惠上云,来阿里云·云小站​www.aliyun.com
b3c5ccb15e98a1811eff220ff8593e4d.png

<!--阿里云年末回馈,新老用户都支持-->

<!--1核2G1M40G盘,89元/1年,-->

<!--1核2G1M40G盘,229元/3年,-->

<!--2核4G5M40G盘,899元/3年,-->

<!--2核8G5M40G盘,1399元/3年-->

交待一下环境:操作系统:ubuntu20.04LTS版,数据库:mysql 8.0.20

第一步:为了保证数据的完整性,先暂时停掉正在使用的数据库

systemctl stop mysql

4154e8232812473eaa57383ee6b16b3b.png

第二步:找到mysql8.0配置文件所在地,默认配置所在地有所变更,变成/etc/mysql/mysql.conf.d/mysqld.conf,同时查看这个配置文件,看数据库存放的路径在哪里,本文中确定的是在/var/lib/mysql下。

命令:

sudo su

cd /etc/mysql/mysql.conf.d/

cat mysqld.conf

ac2544b8ce1dd8e96a8bb896ac6bc746.png

第三步:因为是要将数据迁移到home分区下,所以,在home分区下新建一个目录来存放数据,并将新建目录写入mysql的配置文件中。

命令:

cd ~/

mkdir mysql_data

nano /etc/mysql/mysql.conf.d/mysqld.conf

为了安全,先注释掉datadir项,并重写一项datadir = /home/wlp2s0/mysql_data

b9256d15718cbc7f21d6b0937b99f0d5.png

第四步,将源数据复制到目标文件夹,同时给目标目录赋于权限。

命令:

cp -a -r /var/lib/mysql/* /home/wlp2s0/mysql_data #一定要跟上 -a参数,不然复制过去的目录没有权限 chown -R mysql:mysql /home/wlp2s0/mysql_data

第五步,要通过在默认目录和新位置之间创建别名来告诉AppArmor让MySQL写入新目录。需要编辑AppArmor alias文件

命令:

nano /etc/apparmor.d/tunables/alias

在文件底部添加

alias /var/lib/mysql/ -> /mnt/volume-nyc1-01/mysql/,

a0cb06a37925c197fc23ccc588608eed.png

第六步,保存后退出,使更改生效,要重新启动apparmor

命令:

systemctl restart apparmor

第七步,重启mysql

命令:

systemctl start mysql

查看mysql状态

systemctl status mysql

408d3dccc1efcc8c166af2d27d3a7040.png

第八步,检查mysql使用的是不是目标目录里的文件。

命令:

mysql -u wlp2s0 -p

show global variables like "%datadir%";

1fd2b25c2b7f485eb7fef7055bad9718.png

第九步,至此数据迁移到目标目录完成,可以删掉旧目录了。

rm -rf /var/lib/mysql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值