【问题标题】:Missing /var/lib/mysql/mysql.sock file缺少 /var/lib/mysql/mysql.sock 文件
【发布时间】:2011-08-05 09:17:40
【问题描述】:

我正在尝试访问 mysql,当我运行 mysql 命令时,我得到以下信息。

[root@ip-10-229-65-166 tpdatabase-1.8.0.28356]#mysql

ERROR 2002 (HY000):无法连接到 通过套接字本地 MySQL 服务器 '/var/lib/mysql/mysql.sock' (2)

这样做没有任何回报

[root@ip-10-229-65-166 mysqld]#查找 -name mysql*

[root@ip-10-229-65-166 mysqld]# /etc/init.d/mysql 停止 -bash: /etc/init.d/mysql: 没有这样的文件或目录

[root@ip-10-229-65-173 tpdatabase-1.8.0.28356]#mysql_config |grep -- --socket

--socket [/var/lib/mysql/mysql.sock]

可能是权限问题?

我确实使用 yum install mysql

安装了 mysql

我在 Amazon EC2 云实例上运行 CentOS 5.4

【问题讨论】:

    标签: mysql linux unix amazon-ec2


    【解决方案1】:

    你需要安装服务器包:

    sudo yum install mysql-server
    

    安装完成后,需要启动服务:

    sudo service mysqld start
    

    【讨论】:

    • 然后可能是chkconfig mysqld on
    • 我已经这样做了,但是在 ubuntu 中,它说 mariadb 已安装?
    【解决方案2】:
    rm -rvf /var/lib/mysql/ib_logfile*
    touch /var/lib/mysql/mysql.sock
    touch /var/lib/mysql/mysql.pid
    chown -R mysql:mysql /var/lib/mysql
    systemctl restart mysql
    

    试试这个并检查 /var/lib/mysql/mysql.sock 和 /tmp 的权限

    【讨论】:

    • 经过数小时搜索后唯一对我有用的答案。我什至在我的 Centos 机器上重新安装了 mysql-server。
    【解决方案3】:

    我们在使用相同操作系统的办公室设置中遇到了类似的问题。实际发生的事情是服务器上的空间不足。这很奇怪,但我相信如果服务器已满,则无法加载文件或其他方式。请检查以确保服务器上的空间足够,否则您必须尝试删除已安装的 mysql 并重新安装。祝你好运。

    【讨论】:

      【解决方案4】:

      只需搜索 mysqld,这是服务器守护进程:

      find / | grep mysqld
      

      如果您找到它,服务器包可能已正确安装但没有 initd 脚本。为了测试,您可以手动执行上述文件启动mysql服务器。

      【讨论】:

        【解决方案5】:

        mysql 可能已分别打包为客户端和服务器。检查您的软件包存储库以确保已安装服务器。 mysql 包可能只是客户端。检查是否有一个名为mysql-server 或类似名称的包。检查mysql 包安装的文件列表,看看它是否真的安装了服务器。

        如果文件甚至不存在,则不是权限问题。此外,您正在以 root 身份运行。

        【讨论】:

        • 检查是否已安装包 mysql-server-5.0.77-4.el5_5.5.i386 已安装且最新版本无事
        • 该软件包安装了哪些文件?
        • 在此处粘贴特定文件会太长,但我已安装 mysql、mysql-devel 和 mysql-server 软件包。
        • 基本上,我要你做的是找出服务器文件的安装位置,如果“正常”初始化脚本不是,找出包含它们的包并安装它们。
        • 好像没有 mysql 的 init.d 脚本。很抱歉造成混乱,我只是很难弄清楚出了什么问题。我应该尝试下载一个 mysql rpm。
        【解决方案6】:

        我最近在升级 Ubuntu 18.04 后遇到了这个问题。这里的解决方案解决了https://serverfault.com/a/957723/439448

        【讨论】:

          【解决方案7】:

          确保您有权访问 /var/lib/mysql/mysql.sock 文件。如果仍然出现错误,请使用

          创建一个默认的 my.cnf 文件
          [client]
          socket = /path/to/mysql/data/mysql.sock
          [mysqld]
          server-id = 2
          socket = /path/to/mysql/data/mysql.sock
          port = 4000 #any port you wish
          basedir = /path/to/mysql
          datadir = /path/to/mysql/data
          

          并再次初始化数据库。确保在初始化时提供--defaults-file=/path/to/mysql/my.cnf。如果您收到错误提示文件存在于/path/to/mysql/data,请删除它们并重试。完成后,当您还运行 mysql 时,请提供--defaults-file=/path/to/mysql/my.cnf。 应该可以。

          【讨论】:

            【解决方案8】:

            在命令提示符下点击 mysql 之前,请确保您正确的 my.cnf configuration file 已放置并将 etc 文件夹的权限设置为

            chmod -R 777

            etc 文件夹如下列表以避免

            错误 MySQL - 错误 2002 (HY000): 例如 /etc/my.cnf, /etc/mysql/my.cnf, $MYSQL_HOME/my.cnf [datadir]/my.cnf ~/.my.cnf

            【讨论】:

            • chmod -R 777 to /etc 从来都不好,这个目录有大量的系统文件,你不想像这样授予所有权限。
            猜你喜欢
            • 2016-05-23
            • 2014-07-28
            • 1970-01-01
            • 1970-01-01
            • 2021-10-23
            • 1970-01-01
            • 2013-10-19
            • 2011-08-12
            • 2016-11-26
            相关资源
            最近更新 更多