首页 文章

对于新手:ERROR 2002(HY000):可以't connect to local MySQL server through socket ' /tmp/mysql.sock'

提问于
浏览
131

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

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

这个错误是什么意思?我该如何解决?

19 回答

  • 0

    在我的情况下,在安装MAMP之后,从终端访问mysql正在给出相同的套接字错误 . 最后,它想要的只是一个重启,它正在工作 .

  • 80

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

    要验证它是否正在运行,请打开Activity Monitor并在“All Processes”下,搜索并验证您是否看到“mysqld”进程 .

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

    以下是帮助我的完整教程:http://obscuredclarity.blogspot.in/2009/08/install-mysql-on-mac-os-x.html

  • 12

    在终端上使用 mysql 命令之前,您需要启动MySQL . 为此,请运行 brew services start mysql . 默认情况下,brew会在没有root密码的情况下安装MySQL数据库 . 要确保它运行: mysql_secure_installation .

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

  • 3

    在家庭酿造安装后,这很开心 . 这是由于权限问题而发生的 . 以下命令解决了该问题 .

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

    运行: brew info mysql

    并按照说明操作 . 从公式中的描述:

    Set up databases to run AS YOUR USER ACCOUNT with:
        unset TMPDIR
        mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
    
    To set up base tables in another folder, or use a different user to run
    mysqld, view the help for mysql_install_db:
        mysql_install_db --help
    
    and view the MySQL documentation:
      * 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
    

    希望这可以帮助 .

  • 2

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

    要启动服务:

    • 转到"System Preference"

    • 在底部窗格中应该有MySql图标 .

    • 双击它以启动'MySQL Server Status'并按下按钮'Start MySQL Server'

    我的环境:

    Mac Yosemite 10.10.3

    安装包:/ Volume / mysql-advanced-5.6.24-osx10.8-x86_64

  • 28

    下面我将包含来自 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 并继续前进 .

    我希望这有助于最近的问题排查工具!

  • 7

    解决方案围绕着:

    • 更改MySQL的权限
    sudo chown -R _mysql:mysql /usr/local/var/mysql
    
    • 启动MySQL进程
    sudo mysql.server start
    

    只是为了添加许多非常有用的答案here以及许多不同的帖子,如果上述命令没有为您解决此问题,请尝试指定主机,即

    mysql -u root -p h127.0.0.1
    
  • 0

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

    mysqld stop
    mysql.server start
    

    同样的错误,这对我有用 .

  • 9

    当我重新启动mysql服务时,这解决了我的问题 . 赶紧跑:

    brew services start mysql
    
  • 1

    我用Homebrew安装了MySQL,唯一能解决这个问题的是重新安装MySQL .

    在我的公司笔记本电脑上,我没有权限通过Homebrew从我的计算机上卸载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
    

    这很有效!

  • 41

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

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

    To remedy this, I used a script which installs MySQL on Mac OSX Mountain Lion ,必须安装丢失的文件 .

    这是链接:http://code.macminivault.com/

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

  • 61

    对我而言,运行简单:

    /usr/local/opt/mysql/bin/mysqld_safe

    而不是 mysqld

  • 3

    对我工作几个小时后,对我来说是去/ etc / mysql /并编辑my.cnf文件 . 添加以下内容

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

    在我的情况下,这只是删除锁定文件的问题 .

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

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

    $ mysqld
    

    并且MySQL应该为你的运行 .

  • 12

    这里还有很多其他有用的回复,但对我来说没有任何修复 . 最终我在这个网站上找不到任何东西,或者从Homebrew获得任何版本的MySQL .

    https://dev.mysql.com/downloads/file/?id=479114下载DMG(找到你需要的合适版本)并让它非常轻松向导为我安装它 . 唯一的另一个手动步骤是将 /usr/local/mysql/bin 添加到我的PATH中 .

    如果brew给你带来麻烦,我推荐这个选项 .

  • 44

    我已经尝试了一切可能的方法来解决这个问题,比如ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock,卸载并重新安装mysql,确保mysql在xampp上运行,但它们都没有工作 .

    最后,我打开my.cnf(配置文件)并复制套接字路径(确保复制完整路径,否则它将无法工作) . 然后我在终端中执行此命令

    mysql --socket=/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
    

    瞧,mysql推出 .

    此解决方案仅在您的MySQL显示在Xampp / Ampps上运行时才有效,但在终端中,当您尝试过类似以下内容时,它仍未连接到正确的套接字:

    ./mysql -u root
    

    要么

    brew services start mysql
    

    我希望这有帮助!

  • 2
    • 卸载MySQL .

    • 删除 /usr/local/var/mysql/ .

    • 安装MySQL .

相关问题