有时候我们希望使用别的目录来代替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
保存文件后就可以正常使用了