linux下 mysql data目录迁移

本文解决MySQL启动失败时遇到的错误提示问题,包括通过关闭SELinux、修改/etc/selinux/config文件和使用setenforce命令来解决与SELinux相关的权限问题。同时,提供了针对MySQL客户端连接问题的解决方案,确保服务器正常启动并能被客户端访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误提示

  100716 3:35:54 [Warning] Can't create test file /home/data/mysql/localhost.lower-test
100716 3:35:54 [Warning] Can't create test file /home/data/mysql/localhost.lower-test
/usr/sbin/mysqld: Can't change dir to '/home/data/mysql/' (Errcode: 13)
 
问题解决方法
关闭selinux

1 永久方法 – 需要重启服务器

修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。

2 临时方法 – 设置系统参数

使用命令setenforce 0

附:
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式



启动服务器,如果日志里报错显示:“/usr/sbin/mysqld: Can't change dir to '/data/mysql/' (Errcode: 13)”
   那么应该是和selinux有关,
   解决办法:
   vi /etc/selinux/config
   修改selinux=disabled或者permissive
   再次启动服务器,OK。
 如果服务器可以启动,但是客户端连不上,那应该是my.cnf里client组的socket未改过来


在/etc/my.cnf文件中添加如下内容,并重启mysqls服务,即可解决mysql,mysqldump,mysqladmin的“Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'”问题:

[mysqld]
datadir=/storage/db/mysql
socket=/storage/db/mysql/mysql.sock
 
[mysql]
socket=/storage/db/mysql/mysql.sock
 
[mysqldump]
socket=/storage/db/mysql/mysql.sock
 
[mysqladmin]
socket=/storage/db/mysql/mysql.sock



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值