小编给大家分享一下MySQL连接时mysql.sock为什么找不到,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨方法吧!
站在用户的角度思考问题,与客户深入沟通,找到丰南网站设计与丰南网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广、空间域名、虚拟空间、企业邮箱。业务覆盖丰南地区。
原因:
1)mysql服务没启动;
2)sock文件路径设置错误 ;
3)sock文件所在目录的权限问题;
4)这个文件直接丢失了
解决步骤:
1)检查服务有没有启动
2)在my.cnf文件中查看socket参数指定的路径,查看这个路径有没有访问权限
3)到那个路径下去看一下到底有没有这个mysql.sock文件。
如果该路径下没有sock文件,我们先用find命令找出这个文件的位置,如果find也找不到,重启一下mysql服务即可,会自动生成一个。然后把他复制到soctek参数指定的路径下去。
或者建立一个软连接,这也是比较推荐的方法,比如这个文件在/var/lib/mysql.sock,socket参数指定的路径是/tmp/mysql.sock。
我们就可以这样创建:ln -s /var/lib/mysql.sock /tmp/mysql.sock,创建完之后,再尝试连接
另外需要注意的是,mysql.sock文件默认是在/tmp下,数据库启动的时候,系统也默认去这个文件下找mysql.sock文件,
但是/tmp目录有时会被某个定时任务给清除,那么我们可以给/tmp目录加一个sticky权限,
保护其不被删除,chmod +t /tmp即可,使得/tmp下的文件只能由文件所有者和root用户才能删除
4)如果还是报那个错误,我们就用TCP/IP来连接
看完了这篇文章,相信你对mysql连接时mysql.sock为什么找不到有了一定的了解,想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
网页名称:mysql连接时mysql.sock为什么找不到
标题路径:http://lswzjz.com/article/gpiojp.html