无法通过套接字自制程序连接到本地MySQL服务器
我最近尝试安装MySQL的自制软件( brew install mysql
),当我尝试运行它,我得到以下错误:
错误2002(HY000):无法通过套接字“/tmp/mysql.sock”连接到本地MySQL服务器(2)
没有/tmp/mysql.sock
也没有/var/lib/mysql.sock
。
我search了,并没有find任何mysql.sock
文件。
我怎样才能解决这个问题?
当你通过服务器运行
mysql.server start
你应该看到/tmp/mysql.sock中的套接字。 但是,系统似乎期望在/var/mysql/mysql.sock中 。 为了解决这个问题,你必须在/ var / mysql中创build一个符号链接:
sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
这为我解决了。 现在我的phpMyAdmin与本地 和 127.0.0.1愉快地工作。
信贷去亨利
看起来像你的MySQL服务器没有启动。 我通常运行停止命令,然后再次启动它:
mysqld stop mysql.server start
同样的错误,这对我有用。
尝试使用“127.0.0.1”而不是“localhost”进行连接。
1)如果你能用下面的命令启动mysql;
mysql server start
2),如果你运行下面的命令时能够看到“mysql停止”;
brew services list
比如,将mysql添加到服务将解决您的问题。 使用这种方法,当系统启动时,mysql将作为服务启动。 要做到这一点,你可以运行下面的命令;
brew services start mysql
之后,您可以重新启动您的系统,并尝试连接到MySQL。 我做了同样的事情,并停止接收以下错误;
错误2002(HY000):无法通过套接字“/tmp/mysql.sock”连接到本地MySQL服务器(2)
我希望这有帮助。
我得到了同样的错误,这是什么帮助我:
$ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents $launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist $mysql -uroot mysql>
你需要运行mysql_install_db
– 最简单的方法是,如果你在安装目录中:
$ cd /usr/local/Cellar/mysql/<version>/ $ mysql_install_db
或者,您可以为mysql_install_db
一个basedir
参数,如下所示:
$ mysql_install_db --basedir="$(brew --prefix mysql)"
我遇到了同样的问题,我的Mac和解决它,遵循以下教程
https://mariadb.com/resources/blog/installing-mariadb-10116-mac-os-x-homebrew
但是在继续之前不要忘记杀死或卸载旧版本。
命令:
brew uninstall mariadb xcode-select --install ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" - See more at: https://mariadb.com/resources/blog/installing-mariadb-10116-mac-os-x-homebrew#sthash.XQoxRoJp.dpuf brew doctor brew update brew info mariadb brew install mariadb mysql_install_db mysql.server start
只是添加到这些答案,在我的情况下,我没有本地MySQL服务器,它运行在docker集装箱内。 所以套接字文件不存在,不能被“mysql”客户端访问。
sock文件是由mysqld创build的,mysql使用它来与之通信。 但是,如果您的mySql服务器不在本地运行,则不需要sock文件。
通过指定一个主机名/ IP的袜子文件不是必需的,例如
mysql --host=127.0.0.1 --port=3306 --user=xyz --password=xyz
只是为了完成这个线程。 因此MAMP(PRO)经常使用
这里的path是
/Applications/MAMP/tmp/mysql/mysql.sock