【说明】我在docker上拉取了ubuntu 20.04的镜像,然后在里面装tomcat和mysql(当个模拟环境),后来感觉数据应该放到外面,所以修改了下mysql的数据存储位置,从默认的/var/lib/mysql/移动到/mnt/share/mysql(这个是我外挂的,实际放在我主机上)。
步骤
a.复制。rsync会复制并检查,-a表示修改时间/链接等元信息也会复制。现在/mnt/share/mysql下会有mysql数据部分的完整内容。
rsync -a /var/lib/mysql/ /mnt/share/mysql
b.编辑mysql配置文件,修改datadir
vi /etc/mysql/my.cnf
发现里面的内容是:
经查找,datadir在/etc/mysql/mysql.conf.d/mysqld.cnf里,修改为新位置
c.编辑配置文件:
在/etc/apparmor.d/usr.sbin.mysqld里,把/usr/lib/mysql都换为新路径
plugin的路径我那边没有,所以改不改无所谓,但是以后放plugin的话还是放在新路径吧
d.如果重启mysql失败,建议首先退出到普通目录,或者参考
https://www.cnblogs.com/xiao2shiqi/p/11376969.html
但是我第二次service mysql start成功了,上文仅作参考。