zoukankan      html  css  js  c++  java
  • linux远程服务器启动mysql时显示:/tmp/mysql.sock 不存在的解决方法

    Can't connect to local MySQL server through socket '/tmp/mysql.sock'

    上述提示可能在启动mysql时遇到,即在/tmp/mysql.sock位置找不到所需要的mysql.sock文件,主要是由于my.cnf文件里对mysql.sock的位置设定导致。

    mysql.sock默认的是在/var/lib/mysql, 如果发现确实是在该目录下,可以在[mysqld]下面加入mysql.sock的path
    vi /etc/my.cnf(my.cnf也可能在其他路径下)

    [mysqld]
    port = 3306
    socket = /var/lib/mysql/mysql.sock

    但是要保证使用mysql的用户具有对该目录的写权限,否则这样的改动由于权限限制仍然会报错。

    所以为了避免权限问题也可以使用软链接为/var/lib/mysql/mysql.sock创建一个到/tmp/mysql.sock的联接

    ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

    由于/tmp/文件夹默认对other有w权限,这样就可以避免权限问题。

    此外,如果发现mysql.sock不在默认的/var/lib/mysql位置,一种解决方法是使用find命令搜索mysql.sock的位置,然后按前面两种解决方案挑一种做即可。

  • 相关阅读:
    编写属于自己的Linux Service命令
    Cloudera Manager和CDH4.1的安装
    html5基础教程收集整理精华
    Javascript跳转页面和打开新窗口等方法
    VK值列表
    标准C++之fstream
    PeekMessage用法
    Web系统常用测试方法
    VC控件的一些原理
    Visual C++ 文件操作
  • 原文地址:https://www.cnblogs.com/xbj-2016/p/7327621.html
Copyright © 2011-2022 走看看