Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误2002(HY000):Can';t通过套接字连接到本地MySQL服务器'/tmp/mysql.sock';_Mysql_Macos - Fatal编程技术网

错误2002(HY000):Can';t通过套接字连接到本地MySQL服务器'/tmp/mysql.sock';

错误2002(HY000):Can';t通过套接字连接到本地MySQL服务器'/tmp/mysql.sock';,mysql,macos,Mysql,Macos,我在Mac OS X Mountain Lion上用homebrew安装MySQL安装了MySQL,但是当我尝试MySQL-u root时,我遇到了以下错误: 错误2002(HY000):无法通过套接字“/tmp/MySQL.sock”连接到本地MySQL服务器(2) 这个错误意味着什么?如何修复它?运行:brew信息mysql 并按照说明进行操作。根据公式中的描述: 设置数据库以作为您的用户帐户运行: 取消设置TMPDIR mysql\u install\u db--verbose--user

我在Mac OS X Mountain Lion上用
homebrew安装MySQL
安装了MySQL,但是当我尝试
MySQL-u root
时,我遇到了以下错误:

错误2002(HY000):无法通过套接字“/tmp/MySQL.sock”连接到本地MySQL服务器(2)


这个错误意味着什么?如何修复它?

运行:
brew信息mysql

并按照说明进行操作。根据公式中的描述:

设置数据库以作为您的用户帐户运行:
取消设置TMPDIR
mysql\u install\u db--verbose--user=`whoami`--basedir=“$(brew--prefix mysql)”--datadir=/usr/local/var/mysql--tmpdir=/tmp
在其他文件夹中设置基表,或使用其他用户运行
mysqld,查看mysql\u install\u db的帮助:
mysql\u安装\u数据库--帮助
并查看MySQL文档:
* http://dev.mysql.com/doc/refman/5.5/en/mysql-install-db.html
* http://dev.mysql.com/doc/refman/5.5/en/default-privileges.html

希望这有帮助。

我找到了解决问题的方法。这确实是因为我的MySQL服务器没有运行

这是因为MySQL没有在我的机器上正确设置,因此无法运行

为了解决这个问题,我使用了一个脚本,在Mac OSX Mountain Lion上安装MySQL,它一定安装了丢失的文件

以下是链接:


重要注意事项:此脚本将根密码设置为随机生成的字符串,并保存在桌面上,因此请注意不要删除此文件并注意密码。它还会在您的系统首选项中安装MySQL manager。我也不确定是否删除了任何现有数据库,所以要小心。

这可能是因为MySQL已经安装但尚未运行

要验证它是否正在运行,请打开活动监视器,然后在“所有进程”下搜索并验证是否看到进程“mysqld”

您可以通过安装“MySQL.prefPane”来启动它

以下是帮助我的完整教程:

正如其他人指出的,这是因为安装了MySQL,但服务没有运行。有很多方法可以启动MySQL服务,下面是对我有效的方法

要启动服务,请执行以下操作:

  • 转到“系统首选项”
  • 在底部窗格中应该有MySql图标
  • 双击该按钮以启动“MySQL服务器状态”,然后按“启动MySQL服务器”按钮
  • 我的环境:

    Mac Yosemite 10.10.3


    已安装软件包:/Volumes/mysql-advanced-5.6.24-osx10.8-x86_64

    以下是brew install mysql中的最新说明,因此针对此问题的更新搜索可以从中受益:

    $ brew install mysql
    ==> Downloading https://homebrew.bintray.com/bottles/mysql-5.6.26.yosemite.bottle.1.tar.gz
    ######################################################################## 100.0%
    ==> Pouring mysql-5.6.26.yosemite.bottle.1.tar.gz
    
    To connect:
        mysql -uroot
    
    To have launchd start mysql at login:
      ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
    Then to load mysql now:
      launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    Or, if you don't want/need launchctl, you can just run:
      mysql.server start
    
    就我而言,我现在通过
    launchctl load~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    加载了mysql,然后就可以启动
    $mysql


    我希望这有助于最近的疑难解答

    在终端上使用
    MySQL
    命令之前,您需要启动MySQL。为此,请运行
    brew服务启动mysql
    。默认情况下,brew安装MySQL数据库时不使用根密码。要保护它,请运行:
    mysql\u secure\u安装


    要连接,请运行:
    mysql-uroot
    root
    是此处的用户名。

    这发生在homebrew安装之后,并且由于权限问题而发生。以下命令修复了该问题

    sudo chown -R _mysql:mysql /usr/local/var/mysql
    
    sudo mysql.server start
    

    在我的例子中,在安装了从终端访问mysql的MAMP之后,出现了相同的套接字错误。最后,它只需要重新启动就可以正常工作了。

    对我来说,运行起来很简单:

    /usr/local/opt/mysql/bin/mysqld\u safe


    与mysqld不同,mysqld解决方案围绕以下方面展开:

    • 更改MySQL的权限

      sudo chown -R _mysql:mysql /usr/local/var/mysql
      
    • 启动MySQL进程

      sudo mysql.server start
      
    如果上述命令不能解决此问题,例如

    mysql -u root -p h127.0.0.1
    

    看起来您的mysql服务器没有启动。我通常运行stop命令,然后再次启动它:

    mysqld stop
    mysql.server start
    

    同样的错误,这对我也适用。

    这解决了我重新启动mysql服务时的问题。只需运行:

    brew services start mysql
    

    在做了几个小时之后,对我有效的是 转到/etc/mysql/并编辑my.cnf文件。添加以下内容

    [client]
    port = 3306
    socket = /var/run/mysqld/mysqld.sock
    

    在我的例子中,这只是一个删除锁文件的问题

    sudo rm -f /tmp/mysql.sock.lock
    

    警告-此方法将删除
    /usr/local/var/mysql
    文件夹中的所有数据库 我用自制软件安装了MySQL,唯一能帮我解决这个问题的就是重新安装MySQL

    在我公司的笔记本电脑上,我没有通过自制从我的计算机上卸载MySQL的权限:

    $ brew uninstall mysql --ignore-dependencies
    Uninstalling /usr/local/Cellar/mysql/8.0.12... (255 files, 233.0MB)
    Error: Permission denied @ dir_s_rmdir - /usr/local/Cellar/mysql/8.0.12
    
    因此,我手动删除并重新安装了MySQL:

    $ sudo rm -rf /usr/local/Cellar/mysql
    $ brew cleanup
    $ sudo rm -rf /usr/local/var/mysql
    $ brew install mysql
    

    这就成功了

    这里有很多其他有用的回答,但没有什么能帮我解决这个问题。最终,我在这个网站或其他网站上发现的任何版本的MySQL都不能为我工作

    只需从下载DMG(找到您需要的适当版本)并让向导为我安装它,这是非常轻松的。另外一个手动步骤是将
    /usr/local/mysql/bin
    添加到我的路径中

    如果brew给您带来麻烦,我建议您使用此选项


    更新-如果仍然无法修复,请尝试在通过DMG安装之前完全清除mysql。按照以下说明操作:

    哦,我花了一段时间才弄明白。我在评论中看到了这一点。使用brew安装mysql并启动服务(可能使用
    sudo brew services start mysql
    )后,运行:

    $ mysqld
    

    此后,MySQL应该会为您运行。

    我已经尝试了各种可能的方法来解决这个问题,比如ln-s/var/lib/MySQL/MySQL.sock/tmp/MySQL.sock,卸载并重新安装MySQL,确保MySQL已运行
    mysql --socket=/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
    
    ./mysql -u root
    
    brew services start mysql
    
    rm -rf /usr/local/var/mysql && brew postinstall mysql@5.7 && brew services restart mysql@5.7
    
      mysql.server start
    
      mysql -u root -p
    
    sudo mkdir /var/mysql
    sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
    
    brew upgrade mysql
    
    $ mysqld
    
    2019-10-16T04:58:59.174474Z 0 [ERROR] Could not open file '/var/log/mysql/error.log' for error logging: No such file or directory
    2019-10-16T04:58:59.174508Z 0 [ERROR] Aborting
    
    sudo mkdir -p /var/log/mysql
    sudo touch /var/log/mysql/error.log
    sudo chown -R _mysql:mysql /var/log/mysql/
    
    brew services restart mysql@5.7
    
    mysql -uroot -proot
    
    [client]
    port = 3306
    host=127.0.0.1
    protocol=tcp
    
    [mysql]
    
    # CLIENT #
    port                           = 3306
    socket                         = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock