我在 el capitan 10.11.3 上运行 mamp。我决定将 mysql 更新到版本 5.7.11,因此我运行了以下命令:
tar xfvz mysql-5.7*
echo "stopping mamp"
sudo /Applications/MAMP/bin/stop.sh
sudo killall httpd mysqld
echo "creating backup"
sudo rsync -a /Applications/MAMP ~/Desktop/MAMP-Backup
echo "copy bin"
sudo rsync -av mysql-5.7.*/bin/* /Applications/MAMP/Library/bin/ --exclude=mysqld_multi --exclude=mysqld_safe
echo "copy share"
sudo rsync -av mysql-5.7.*/share/* /Applications/MAMP/Library/share/
echo "fixing access (workaround)"
sudo chmod -R o+rw /Applications/MAMP/db/mysql/
sudo chmod -R o+rw /Applications/MAMP/tmp/mysql/
echo "starting mamp"
ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock
sudo /Applications/MAMP/bin/start.sh
echo "migrate to new version"
sudo chmod -R 777 /Applications/MAMP/db/mysql/
/Applications/MAMP/Library/bin/mysql_upgrade --user=root --password=root --host=localhost --port=3306
这是我在网上找到的脚本。我使用的 tarball 是:mysql-5.7.11-osx10.10-x86_64.tar
现在,我无法从应用程序启动 mamp,当我在命令行中运行 mysql 时,我得到:
错误 2002 (HY000):无法通过套接字“/tmp/mysql.sock”连接到本地 MySQL 服务器 (2)
答案1
我通过安装 mysql-server 解决了这个问题,所以请确保您安装了 mysql-server,而不是 mysql-client 或其他东西。
该错误意味着文件
/var/run/mysqld/mysqld.sock
不存在,如果您没有安装 mysql-server,则该文件不存在。但如果 mysql-server 已安装并正在运行,则需要检查配置文件。
配置文件是:
/etc/my.cnf
/etc/mysql/my.cnf
/var/lib/mysql/my.cnf
在
/etc/my.cnf
套接字文件配置可能是
/tmp/mysql.sock
以及
/etc/mysql/my.cnf
套接字文件配置可能是
/var/run/mysqld/mysqld.sock
因此,删除或重命名 /etc/mysql/my.cnf,让 mysql 使用 /etc/my.cnf,则问题可能解决。