mysql 数据存储路径迁移

liwenchao1995 / 2024-10-21 / 原文

目录
  • mysql 数据存储路径迁移
    • 迁移事项

mysql 数据存储路径迁移

*重要
在开始之前,我们用mysqldump对所有数据库做下备份,防止数据损坏导致数据丢失

迁移事项

1.mysql配置文件备份

# 停止数据库
systemctl stop mysqld
cp /etc/my.cnf /etc/my.cnf.bak
# 然后修改数据存储路径为你要调整的数据路径

2.数据迁移
默认数据存储在 /var/lib/mysql下,

#/data/path替换成你要调整的数据路径
cp -r /var/lib/mysql /data/path

3.数据路径创建及授权

chmod 755 -R /data/path
chown mysql:mysql -R /data/path
# mysql5.7不需要配置文件也能启动,我在这里踩坑,配置文件是root权限mysql无权限读取,导致走的默认配置
chmod 755 -R /etc/my.cnf
chown mysql:mysql -R /etc/my.cnf

4.重启数据库

systemctl start mysqld

5.可能遇到的问题

如果mysql起不来,可以看下mysql的日志
必要时可以删除数据路路径下的 ibdata1  ib_logfile* 这些文件(毕竟你也是拷贝过来的,删除了还有原来的可以恢复,而且我们最开始还mysqldump备份了数据库。但是注意,删除启动可能会丢数据,这里待验证)
rm -f ibdata1 ib_logfile*
systemctl restart mysqld