首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >El Capitan升级后Mysql无法工作

El Capitan升级后Mysql无法工作
EN

Stack Overflow用户
提问于 2016-03-18 11:28:03
回答 1查看 775关注 0票数 0

最近,我将我的Mac升级为Mini,并使用迁移助手将我的所有文件和应用程序跨到Mini。

我还重新安装了macport,配置了apache等,所以我设法让本地主机和php在新机器上工作。

但是我现在不能从终端启动mysql了吗?

当我试着平常的时候:

代码语言:javascript
复制
mysql5 -u root -p;

并得到以下错误:

代码语言:javascript
复制
Error:  ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/local/var/run/mysql5/mysqld.sock' (2)

我还尝试重新启动mysql:

代码语言:javascript
复制
sudo opt/local/share/mysql5/mysql/mysql.server restart

并得到以下错误:

代码语言:javascript
复制
ERROR! Manager of pid-file quit without updating file.

当我导航到我的mysql5目录/opt/local/var/db/mysql5 5/时,我看到一个数据库列表,并看到以下PID文件:

代码语言:javascript
复制
myName.local.pid 

代码语言:javascript
复制
localhost pid

因此,它的结构类似于我的旧Mac,但我搞不懂是什么原因导致mysql没有启动呢?

有趣的是,mysql必须仍然工作,因为当我在浏览器中运行.php脚本时,mysql查询可以工作,数据正在被检索。

任何帮助都很感激。

EN

回答 1

Stack Overflow用户

发布于 2016-03-21 15:49:32

解决了

我想与大家分享我为解决这个问题而找到的解决办法。

当您从以前版本的OSX更新到El Capitan时,您的mysql设置就会丢失。当您尝试通过以下方式连接时:

代码语言:javascript
复制
 mysql5 -u root -p;

我得到了以下错误:

代码语言:javascript
复制
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/local/var/run/mysql5/mysqld.sock' (2)

问题在于my.cnf!

macports的默认配置不附带my.cnf (但是它有其他的-medium.cnf,my-small.cnf),因此Macports客户端将查看Macports服务器设置为查看的位置。

我还了解到,如果您已将套接字路径从默认位置更改,那么您需要告诉所有信息。大多数程序都有一个可以重写的硬编码默认值,我已经重写了默认为一个php的宏端口,所以您需要告诉客户端您已经将其更改为什么,否则它将如何知道。

因为在opt/local/share/mysql 5/mysql中没有my.cnf的副本,所以客户端不知道在哪里查找套接字。因此,我必须为客户机和mysqld配置在my.cnf中定义套接字的路径。

在我的例子中,套接字的路径应该是:

代码语言:javascript
复制
socket = /opt/local/var/run/mysql5/mysqld.sock

然后重新启动mysql:

代码语言:javascript
复制
sudo /opt/local/share/mysql5/mysql/mysql.server restart

终于成功了。

希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36083202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档