先查看当前数据存储路径,再停止MySQL服务并迁移数据至新目录,接着修改配置文件中的datadir指向新路径,最后重启服务并验证路径及数据访问正常。
在 MySQL 中修改数据存储位置,主要是通过更改数据目录(datadir)来实现。这个目录存放数据库文件、表结构、日志等核心数据。如果你需要调整磁盘空间、提升性能或做数据迁移,可以按以下步骤操作。
1. 查看当前数据存储位置
登录 MySQL 后执行:SHOW VARIABLES LIKE 'datadir';会返回类似/var/lib/mysql/的路径,这就是当前的数据存储目录。
2. 停止 MySQL 服务在修改前必须先停止服务,避免数据损坏:sudo systemctl stop mysql
或根据系统使用:
sudo service mysql stop
3. 迁移现有数据到新位置
假设你想把数据移到/data/mysql:sudo mkdir -p /data/mysqlsudo cp -R /var/lib/mysql/. /data/mysql/sudo chown -R mysql:mysql /data/mysqlsudo chmod -R 750 /data/mysql确保权限正确,MySQL 用户必须能读写新目录。
4. 修改
配置文件指向新路径编辑 MySQL 配置文件,通常位于:CentOS Linux 7.9.2009 CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。
下载/etc/mysql/mysql.conf.d/mysqld.cnf(Ubuntu/Debian)
/etc/my.cnf或/etc/mysql/my.cnf(CentOS/RHEL)
找到[mysqld]
段落,修改或添加:
datadir = /data/mysql如果使用 AppArmor 或 SELinux,还需额外配置权限策略。
5. 启动 MySQL 并验证
保存配置后启动服务:
sudo systemctl start mysql再次登录 MySQL 执行:SHOW VARIABLES LIKE 'datadir';确认返回的是新路径。检查所有数据库是否正常访问。
基本上就这些。只要权限和配置写对,迁移过程很稳定。注意备份原数据以防出错。
