mysql数据空间不够,需要迁移/var/lib/mysql目录,网上搜的大多失败,在此记录备忘

使用分区工具重新划分了一块空间,格式化ext4,使用 ls -l /dev/disk/by-uuid 命令查看UUID,添加到/etc/fstab文件,挂载到/data 重启。

sudo /etc/init.d/mysql stop
sudo mv /var/lib/mysql /data
可能会有权限问题
sudo chown -R mysql:mysql /data

修改/etc/mysql/my.cnf中的datadir参数
修改/etc/apparmor.d/usr.sbin.mysqld中,添加或者替换/var/lib/mysql字符串为mysql要迁移的目录

最后重建mysql库文件
mysql_install_db --basedir=/dir --datadir=/data/mysql --user=mysql
但是这样以后,账号密码之类的就被重设了,

后来看到使用 sudo /etc/init.d/apparmor reload 这条命令应该也可以,不需要重建mysql库,未测试。