示例原目录:/var/lib/mysql
示例新目录:/data/mysql/
【思路】
1、停止mysqld服务
systemctl stop mysqld.service
2、复制数据库到新目录
cp -R /usr/local/mysql/data/* /data/mysqldata/
3、赋于mysql目录权限
chown -R mysql:mysql /data/mysql/
4、修改mysql配置文件
vim /etc/my.cnf
#datadir = /var/lib/mysql
datadir =/data/mysql/
5、启动mysqld服务
systemctl start mysqld.service
启动报错截图如下:

查看日志详情:

报错原因是Selinux限制了,百度了n多篇博客,照着修改也没能成功,最终的解决方案是采取临时关闭selinux的方法,好处是不用重启服务器。
解决方法:
1、查看selinux的状态:getenforce

2、临时关闭selinux:setenforce 0
然后重复最开始的命令,执行完成后,开启mysql服务,如下图所示,成功启动

3、验证datadir是否为新更改的目录
登录mysql:mysql -u root -p
输入密码
使用mysql数据库:use mysql
查看datadir的路径:show variables like ‘%datadir%’;

本文介绍了如何在Linux系统中将MySQL的数据目录从/var/lib/mysql迁移到/data/mysql/。步骤包括停止服务、复制数据、修改配置文件、启动服务以及解决因Selinux导致的启动问题。最终通过设置临时关闭Selinux来成功启动MySQL服务,并验证了datadir已更改。
640

被折叠的 条评论
为什么被折叠?



