要将Ubuntu 22.04上的MySQL 8数据文件夹迁移到/mnt/mysql-data,请按照以下步骤操作:
停止MySQL服务:
sudo systemctl stop mysql
复制原有的数据文件夹到新位置:
sudo rsync -av /var/lib/mysql /mnt/mysql-data/
更改文件夹权限(确保MySQL用户和组有权访问):
sudo chown -R mysql:mysql /mnt/mysql-data/mysql
更新MySQL配置文件my.cnf(如果存在),将数据目录指向新位置。编辑配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
更改或添加以下行:
datadir = /mnt/mysql-data/mysql
更新AppArmor配置(如果已启用)以允许MySQL在新路径中读写。编辑AppArmor配置文件:
sudo nano /etc/apparmor.d/usr.sbin.mysqld
确保包含新的数据目录路径,例如:
/mnt/mysql-data/mysql/ r,
/mnt/mysql-data/mysql/** rwk,
重新加载AppArmor配置:
sudo systemctl reload apparmor
启动MySQL服务:
sudo systemctl start mysql
检查服务状态确保它正在运行:
sudo systemctl status mysql
请注意,在执行这些步骤之前,建议创建数据的完整备份,并在尝试这些操作之前在测试环境中验证每个步骤。如果您的系统使用了SELinux或其他安全模块,您可能还需要更新相应的安全策略。