插件窝 干货文章 Linux下修改Mysql数据库存放路径

Linux下修改Mysql数据库存放路径

MySQL sudo 修改 bash 173    来源:    2025-05-11

Linux下修改MySQL数据库存放路径

准备工作

  1. 备份数据:在进行任何数据库路径修改前,请确保已完整备份数据库
  2. 停止MySQL服务sudo systemctl stop mysqlsudo systemctl stop mysqld
  3. 确认当前数据目录:登录MySQL后执行 SHOW VARIABLES LIKE 'datadir';

修改步骤

方法一:通过配置文件修改(推荐)

  1. 编辑MySQL配置文件

    sudo vim /etc/mysql/my.cnf
    

    sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
    
  2. 找到并修改datadir参数

    [mysqld]
    datadir=/new/path/to/mysql
    
  3. 移动数据文件

    sudo rsync -av /var/lib/mysql/ /new/path/to/mysql
    

    sudo cp -R -p /var/lib/mysql/* /new/path/to/mysql
    
  4. 修改权限

    sudo chown -R mysql:mysql /new/path/to/mysql
    
  5. 启动MySQL服务

    sudo systemctl start mysql
    

方法二:使用符号链接

  1. 停止MySQL服务
  2. 移动数据目录

    sudo mv /var/lib/mysql /new/path/to/mysql
    
  3. 创建符号链接

    sudo ln -s /new/path/to/mysql /var/lib/mysql
    
  4. 修改权限

    sudo chown -R mysql:mysql /new/path/to/mysql
    
  5. 启动MySQL服务

SELinux注意事项(如启用)

如果系统启用了SELinux,需要执行:

sudo semanage fcontext -a -t mysqld_db_t "/new/path/to/mysql(/.*)?"
sudo restorecon -Rv /new/path/to/mysql

验证修改

  1. 登录MySQL执行: sql SHOW VARIABLES LIKE 'datadir';
  2. 检查数据库是否正常运行

常见问题解决

  1. 启动失败:检查错误日志 /var/log/mysql/error.log
  2. 权限问题:确保新目录所有者是mysql用户
  3. 空间不足:使用df -h检查新路径所在分区空间

注意事项

  • 确保新路径有足够的磁盘空间
  • 修改前确保MySQL服务已完全停止
  • 对于生产环境,建议在非高峰时段操作