有时候我们希望使用别的目录来代替mysql默认使用的/var/lib/mysql目录存储数据。

为了完成这个需求,我们需要几步来实现:
1,修改selinux为permissive或disable

2,将目录的权限修改为mysql用户所有和属组

3,修改/etc/my.cnf

将datadir和socket修改为你需要的路径

这步做完后,mysql-server就可以正常启动了,并且可以看到data文件和socket文件已经存入你指定的目录中。但是当你使用本地mysql客户端连接服务端的时候,会发现系统依然提示你找不到“/var/lib/mysql/mysql.sock”这个sock文件,这时候继续下一步

4,在/etc/my.cnf中添加一段

[client]

socket=[你指定的文件]

ok,这样重启mysql-server后就可以正常连接了。


使用mysql_secure_installation仍然会提示无法找到“/var/lib/mysql/mysql.sock”文件,打开mysql_secure_installation命令脚本,它在/usr/bin目录下。

在make_config这个函数中添加一段

echo "socket=[你指定的文件,同上设置]" >>$config

保存文件后就可以正常使用了