• 技术文章 >数据库 >MySQL

    mysql连接时mysql.sock找不到

     Ly Ly2020-06-11 10:09:49原创2136

    原因:

    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与server的区别 下一篇:如何解决mysql报错2003

    相关文章推荐

    • 如何解决mysql导出的excel数据乱码• mysql中root是什么?• mysql与server的区别

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网