更改默认MySQL数据库的核心在于修改MySQL配置文件中的datadir参数,并确保数据迁移过程安全无误,以下是详细步骤和注意事项:

修改配置文件
MySQL默认数据存储路径通常为/var/lib/mysql,通过修改配置文件可更改路径。
操作步骤:
- 停止MySQL服务:
sudo systemctl stop mysql
- 编辑配置文件
/etc/mysql/mysql.conf.d/mysqld.cnf,找到[mysqld]部分,修改或添加:datadir = /新路径/mysql
- 保存文件并退出。
迁移数据文件
关键步骤:
- 复制原有数据到新路径:
sudo cp -R /var/lib/mysql /新路径/
- 修改新目录权限:
sudo chown -R mysql:mysql /新路径/mysql
- 验证文件完整性,确保所有数据库文件已迁移。
更新AppArmor或SELinux配置
重要:

- AppArmor(Ubuntu):
编辑/etc/apparmor.d/tunables/alias,添加:alias /var/lib/mysql/ -> /新路径/mysql/,
重启AppArmor:
sudo systemctl restart apparmor
- SELinux(CentOS):
执行:sudo semanage fcontext -a -t mysqld_db_t "/新路径/mysql(/.)?" sudo restorecon -Rv /新路径/mysql
重启MySQL并验证
- 启动服务:
sudo systemctl start mysql
- 检查状态:
sudo systemctl status mysql
- 登录MySQL验证路径:
SHOW VARIABLES LIKE 'datadir';
注意事项
- 备份优先:操作前务必备份数据。
- 路径权限:新路径必须属于
mysql用户。 - 日志文件:确保错误日志路径同步更新。
- 性能考量:新路径所在磁盘需满足I/O需求。
相关问答
Q1:修改后MySQL启动失败怎么办?
A1:检查配置文件语法、路径权限及SELinux/AppArmor规则,查看错误日志定位问题。
Q2:如何避免数据迁移丢失?
A2:使用rsync替代cp确保文件完整性,迁移后对比文件数量和大小。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复